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

Как я могу исключить страницы для зарегистрированных пользователей из результатов поиска WordPress?

Solutions Collecting From Web of "Исключить страницы из страницы результатов поиска WordPress"

Добавьте это в свой детский файл функций тем, используя редактор кода, например Notepad ++.

Вам нужно будет изменить идентификаторы страниц в коде самостоятельно.

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

add_filter( 'pre_get_posts', 'exclude_pages_search_when_logged_in' ); function exclude_pages_search_when_logged_in($query) { if ( $query->is_search && is_user_logged_in() ) $query->set( 'post__not_in', array( 1, 2, 3, 4, 5 ) ); return $query; } 

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

 add_action('pre_get_posts','exclude_all_pages_search'); function exclude_all_pages_search($query) { if ( ! is_admin() && $query->is_main_query() && $query->is_search && is_user_logged_in() ) $query->set( 'post_type', 'post' ); } 

Источник http://codex.wordpress.org/Plugin_API/Action_Reference/pre_get_posts#Exclude_Pages_from_Search_Results

Вы можете использовать этот код в своей теме functions.php . Обратите внимание, что я не тестировал это.

 add_filter( 'pre_get_posts', 'SearchFilter' ); function SearchFilter( $query ) { if ( $query->is_search ) { $query->set( 'post__not_in', array( 2, 5, 12, 14, 20 ) ); } return $query; } 

Я получаю эту идею от WPBeginner .

Условия использования, в то время как это было написано: «(…) Вы можете ссылаться на наши фрагменты и хаки в своих собственных блогах / сайтах, если вы даете нам полный кредит от этой статьи.