Хочу поделиться с вами быстрой и простой рекомендацией о том, как исключить страницы из результатов поиска WordPress.

По умолчанию WordPress будет включать страницы вашего сайта в результаты поиска.

Для большинства сайтов это не нужно или нежелательно. Чтобы изменить это поведение, мы можем добавить простую функцию в наш файл functions.php активной темы Вордпресс, чтобы отфильтровать эти страницы в наших результатах поиска.

Функция исключения страниц из результатов поиска WordPress

Просто скопируйте и вставьте эту функцию в файл functions.php вашей темы WordPress:

/**
 * This function modifies the main WordPress query to remove 
 * pages from search results.
 *
 * @param object $query The main WordPress query.
 */
function tg_exclude_pages_from_search_results( $query ) {
    if ( $query->is_main_query() && $query->is_search() && ! is_admin() ) {
        $query->set( 'post_type', array( 'post' ) );
    }    
}
add_action( 'pre_get_posts', 'tg_exclude_pages_from_search_results' );

Эта функция делает именно то, что нам нужно. Изменяя основной запрос WordPress с помощью хука pre_get_posts, мы можем определить, что мы хотим отображать в наших результатах поиска.

В этом случае все, что мы хотим показать, — это контент из наших записей, а не из наших страниц.

Вот и всё! Просто сохраните файл и проверьте поисковый запрос у себя на сайте. Вы исключили страницы из результатов поиска WordPress.

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вы можете использовать эти HTML теги:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>