Плагин Search Exclude — исключаем страницы/посты из поиска
Во время работы над одним проектом для улучшения результатов поиска нужно было исключить оттуда несколько записей. Это могут быть как конкретные «неугодные вам» страницы/посты, так и весьма тривиальные элементы сайта: контакты, главная, об авторе, sitemap и т.п. Данная задача решается двумя способами: с помощью хака или через плагин Search Exclude.
Если сайтом будет управлять начинающий пользователей и ему потребуется достаточно часто обновлять список исключенных статей, то конечно, лучше устанавливать модуль. Для разовых манипуляций и продвинутых юзеров можно использовать следующий сниппет (размещается в function.php):
function myexclude_search_filter( $query ) { if ( ! $query->is_admin && $query->is_search && $query->is_main_query() ) { $query->set( 'post__not_in', array( 1042, 756 ) ); } } add_action( 'pre_get_posts', 'myexclude_search_filter' ); |
Чуть более детально он описан в заметке про хаки для поиска + там есть парочка других полезных решений. Числа в коде — ID соответствующих публикаций.
Настройка Search Exclude
Вариант с модулем более наглядный. Скачиваете его отсюда либо же находите по названию и устанавливаете из админки. Плагин максимально простой, поэтому после его активации никаких дополнительных общих настроек делать не нужно. При этом на каждой странице/посте появится дополнительный блок опций «Search Exclude» при редактировании.
Здесь находится одно единственное поле «Exclude from Search Results». Если поставить галочку в данном блоке, то запись не будет участвовать в поиске и, следовательно, в результатах ее не увидите. Судя по описанию модуля, данная опция работает и для других WordPress таксономий, не только постов/страниц.
Интересно также, что скрытие заметок из поиска поддерживает массовое редактирование в системе вордпресс. Отмечаете несколько нужных страниц, выбираете в качестве действия «Изменить» и устанавливаете соответствующий параметр в опции «Show in Search Results».
Здесь значение Hide — это скрыть из поиска, Show — показывать в результатах. После внесение изменений кликаете по кнопке «Обновить». Для всех выбранных заметок будет установлен одинаковый параметр.
Дополнительные фишки по Search Exclude
Напоследок пару нюансов из FAQ по модулю. Во-первых, следует заметить, что плагин Search Exclude никак не влияет на поисковую оптимизацию (не исключает страницы из индекса), а только модифицирует результаты стандартного поиска на вашем сайте. Во-вторых, у плагина есть 2 хука/фильтра:
- searchexclude_hide_from_search — определяет видимость конкретного объекта;
- searchexclude_filter_search — позволяет отключить фильтрацию результатов поиска.
Эти 2 решения больше полезны для разработчиков. Приведу лишь пример использования их в резальных условиях.
Пример1 (для searchexclude_hide_from_search). Допустим, вы хотите чтобы опция «Exclude from Search Results» была автоматически активирована для всех новых создающихся постов (не страниц). Вот подходящий код для function.php.
add_filter('default_content', 'excludeNewPostByDefault', 10, 2); function excludeNewPostByDefault($content, $post) { if ('post' === $post->post_type) { do_action('searchexclude_hide_from_search', array($post->ID), true); } } |
Пример2 (для searchexclude_filter_search). Предположим, вы захотели отключить фильтр для результатов поиска по определенному типу постов (post_type). Вам потребуется следующий код:
add_filter('searchexclude_filter_search', 'filterForProducts', 10, 2); function filterForProducts($exclude, $query) { return $exclude && 'product' !== $query->get('post_type'); } |
Но, повторюсь, в большинстве случаев рядовому пользователю будет достаточно обычного блока настроек на конкретной странице/посте. Модуль Search Exclude не должен вызвать у вас каких-либо сложностей. Если остались вопросы, пишите их в комментариях.
Блог Wordpress Inside поможет вам научиться работать в вордпресс, закрепить и расширить имеющиеся знания. Плагины и шаблоны, разные хаки и функции wp, оптимизация и безопасность системы – все это и намного больше вы сможете найти на страницах нашего проекта!
Если хотите быстро и оперативно получать последние новости и статьи, то рекомендуем подписаться на обновления блога:
- Как добавить категории и теги страницам в WordPress с помощью плагинов и хаков
- Отключаем правый клик мыши на сайте с WordPress (подборка плагинов по теме)
- Наличие товара в Woocommerce — настройки, хаки, надпись «Нет в наличии», функция is_in_stock и др.
- Atiframe — функциональный и доступный шаблон с визуальным конструктором
- Выводим облако меток в WordPress через виджет и функцию wp_tag_cloud (+полезные хаки)
- Простые шаблоны WordPress и минималистичные темы для сайтов
- Создаем WooCommerce меню категорий и не только (через админку, виджеты, плагины)
- WooCommerce (26)
- Безопасность (10)
- Видео (6)
- Виджеты (23)
- Возможности (115)
- Начинающим (38)
- Новости (42)
- Оптимизация (20)
- Плагины (203)
- Сервисы (61)
- Хаки и секреты (73)
- Шаблоны (39)
- Плагин WP-PostRatings рейтинга постов в WordPress
(5,80 из 7, голосов - 866)
- 5 wordpress плагинов для кнопок социальных закладок
(5,30 из 7, голосов - 40)
- Кэширование в wordpress — выбираем лучший плагин для кэширования
(5,50 из 7, голосов - 32)
- Лучшие плагины картинок в WordPress — галереи, слайдеры, для миниатюр и т.п.
(6,04 из 7, голосов - 28)
- 5 плагинов популярных постов в вордпресс
(4,96 из 7, голосов - 27)
- Кнопка вконтакте для wordpress блога — разные методы и лучшие плагины
(4,59 из 7, голосов - 27)
- Добавление кнопки Вконтакте, Facebook и Twitter в wordpress блог
(6,10 из 7, голосов - 20)

- WordpressPlugins.ru
- WordPress Tutorials
- Majordomo - выгодные цены на виртуальный хостинг
- Достопримечательности Львова
- Website Development Tutorials