WP Search: как включить все сообщения, но только определенные страницы? - PullRequest
0 голосов
/ 22 января 2020

Сейчас я борюсь с поиском Wordpress по умолчанию, так как я хочу установить несколько пользовательских правил для результатов поиска. Если на этот вопрос ответили раньше, извините, потому что я не смог его найти.

  1. Я бы хотел, чтобы все посты в блоге, кроме тех, которые находятся в подкатегории "архив", отображались в результатах поиска.

  2. Мне бы хотелось, чтобы в результатах поиска отображался только определенный c набор страниц, а другие нет.

Пока что Мне удалось заархивировать только одну из целей, но не в комбинации.

Чтобы включить все записи в блоге, я использовал следующие функции: php:

function js_search_filter( $query ) {
    if (!$query->is_admin && $query->is_search) { 

        /* Shows only type post */
        $query->set('post_type', 'post');

        /* Includes category "blog"(2) and excludes sub-category "archive" (2881) */
        $query->set('cat','2,-2881');

   }
    return $query;
}
add_action( 'pre_get_posts', 'js_search_filter' ); 

Чтобы включить определенные c сообщения, я использовал это:

function js_search_filter( $query ) {
    if (!$query->is_admin && $query->is_search) { 

        /* Show posts and pages*/
        $query->set('post_type', 'page');


        /* Include certain page IDs */
        $query->set('post__in', array (100,4580,3596,2623,4860));
   }
    return $query;
}
add_action( 'pre_get_posts', 'js_search_filter' ); 

Теперь, как только я попытаюсь объединить эти вещи, go сбоку. Я использую $query->set('post_type', array('post','page'));, чтобы оба типа отображали uo

Если я сейчас добавлю $query->set('post__in', array (100,4580,3596,2623,4860));, отобразятся только страницы в массиве, а теперь и сообщения в блогах.

Куда я иду не так? Могу ли я добавить идентификаторы категорий в массив post__in? Нужно ли мне удалять $query->set('cat','2,-2881'); и использовать post__in и post__not_in с соответствующими идентификаторами вместо этого?

Я с нетерпением жду любой помощи!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...