04.04.2022 в 01:03 (ред.)

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

Хочу поделиться с вами быстрой и простой рекомендацией о том, как исключить страницы из результатов поиска 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.

Wordpress

Подпишитесь на новости

Никакого спама, только новости и полезные материалы