Окт
5
0

Плагин Search Exclude — исключаем страницы/посты из поиска

Плагин 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

Вариант с модулем более наглядный. Скачиваете его отсюда либо же находите по названию и устанавливаете из админки WordPress. Плагин максимально простой, поэтому после его активации никаких дополнительных общих настроек делать не нужно. При этом на каждой странице/посте появится дополнительный блок опций «Search Exclude» при редактировании.

Настройка Exclude from Search Results

Здесь находится одно единственное поле «Exclude from Search Results». Если поставить галочку в данном блоке, то запись не будет участвовать в поиске и, следовательно, в результатах ее не увидите. Судя по описанию модуля, данная опция работает и для других WordPress таксономий, не только постов/страниц.

Интересно также, что скрытие заметок из поиска поддерживает массовое редактирование в системе вордпресс. Отмечаете несколько нужных страниц, выбираете в качестве действия «Изменить» и устанавливаете соответствующий параметр в опции «Show in Search Results».

Массовое задание параметров в Search Exclude

Здесь значение Hide — это скрыть из поиска, Show — показывать в результатах. После внесение изменений кликаете по кнопке «Обновить». Для всех выбранных заметок будет установлен одинаковый параметр.

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

рейтинг Оцените статью:
Ужасная статьяНичего интересногоТак себеНормальноХорошоКлассный постВ закладки!
(голосов - 3, средний балл: 6,67 из 7)
Загрузка...

категория Категории: Плагины;
теги Теги: , , , .
Оставить комментарий


Блог Wordpress Inside поможет вам научиться работать в вордпресс, закрепить и расширить имеющиеся знания. Плагины и шаблоны, разные хаки и функции wp, оптимизация и безопасность системы – все это и намного больше вы сможете найти на страницах нашего проекта!

Если хотите быстро и оперативно получать последние новости и статьи, то рекомендуем подписаться на обновления блога:

Последние посты
Заработай в GoGetLinks
Лучшее в категории
Облако тегов
Скажи свое мнение!

В чем основные плюсы Wordpress?

Посмотреть результаты

Загрузка ... Загрузка ...
Друзья проекта
Последние новости