Javascript-форум (https://javascript.ru/forum/)
-   Серверные языки и технологии (https://javascript.ru/forum/server/)
-   -   Поиск по сайту (https://javascript.ru/forum/server/84817-poisk-po-sajjtu.html)

sega1821 03.01.2023 23:22

Поиск по сайту
 
Добрый день. Есть поиск на wordpress. В данный момент ищет по заголовкам страницы, контенту и произвольным полям. Подскажите пожалуйста, как оставить только заголовки и произвольные поля?

add_filter( 'get_search_form', 'my_search_form' );
function my_search_form( $form ) {
$form = '
<form role="search" method="get" id="searchform" action="' . home_url( '/' ) . '" >
<input type="text" placeholder="Поиск:" value="' . get_search_query() . '" name="s" id="s" />
<input type="submit" id="searchsubmit" value="Найти" />
</form>';
	return $form;
}


/* Поиск по произвольным полям */
function cf_search_join( $join ) {
    global $wpdb;
 
    if ( is_search() ) {    
        $join .=' LEFT JOIN '.$wpdb->postmeta. ' ON '. $wpdb->posts . '.ID = ' . $wpdb->postmeta . '.post_id ';
    } 
    return $join;
}
add_filter('posts_join', 'cf_search_join' );

function cf_search_where( $where ) {
    global $pagenow, $wpdb;
 
    if ( is_search() ) {
        $where = preg_replace(
            "/\(\s*".$wpdb->posts.".post_title\s+LIKE\s*(\'[^\']+\')\s*\)/",
            "(".$wpdb->posts.".post_title LIKE $1) OR (".$wpdb->postmeta.".meta_value LIKE $1)", $where );
    }
    return $where;
}
add_filter( 'posts_where', 'cf_search_where' );
 
function cf_search_distinct( $where ) {
    global $wpdb;
    if ( is_search() ) {
        return "DISTINCT";
    }
    return $where;	
	
}
add_filter( 'posts_distinct', 'cf_search_distinct' );
/* Поиск по произвольным полям */


Часовой пояс GMT +3, время: 01:58.