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