Задать вопрос
vladislav_boychenko
@vladislav_boychenko
Купаюсь в гривнах

Как на WP сделать поиск только по постам?

Здравствуйте!
Можно ли как-то ограничить поиск на WP, чтобы в выдаче были только посты, а по страницам результатов не выдавало?
  • Вопрос задан
  • 4443 просмотра
Подписаться 2 Простой Комментировать
Решения вопроса 1
llgruff
@llgruff
Scala
В functions.php:
Если хотим оставить поиск только по post, все page, польз.типы исключить:
function SearchFilter($query) {
  if ($query->is_search) {
    $query->set('post_type', 'post');
  }
  return $query;
}
add_filter('pre_get_posts','SearchFilter');

Если хотим исключить из поиска page, всё остальное оставить:
add_filter('register_post_type_args', function($args, $post_type) {
  if (!is_admin() && $post_type == 'page') {
    $args['exclude_from_search'] = true;
  }
  return $args;
}, 10, 2);
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
it_proger29
@it_proger29
Битрикс
Можно в тег form добавить инпут
<input type="hidden" value="post" name="post_type" />
. В value можете вписать тип поста. product, post, order и т.д

А дял более точного поиска есть еще такой инпут, почитать о нем можете в интернете
<input type="hidden" value="1" name="sentence" />

Пример:
<form role="search" method="get" id="searchform" action="<?php echo home_url( '/' ) ?>" >
    <div class="stylevision-sear">
        <div class="stylevision-sear__block">
            <input class="stylevision-sear__input" type="search" value="<?php echo get_search_query() ?>" name="s" id="s site-search" placeholder="Example: what to wear to prom" aria-label="Search through site content">
            <input type="hidden" value="post" name="post_type" />
            <input type="hidden" value="1" name="sentence" />
        </div>
        <button class="stylevision-sear__btn">Search</button>
    </div>
</form>
Ответ написан
@Megos
Как ограничить поиск созданный виджетом? На сайте есть форма встроенная в шаблон, которая ищет по товарам и есть сайдбар блога, в котором поиск из виджета. Вот он ищет и по товарам и по постам. Надо запретить ему лезть в товары.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы