Сообщения из категории не отображаются при поиске по названию категории - PullRequest
1 голос
/ 07 декабря 2011

У меня проблемы со страницей результатов поиска, так как она не отображает сообщения, которые являются частью категории, при поиске имени категории. Например, если я ищу «двери» (кот), все партнеры, которые находятся в категории «двери», должны отображаться в результатах поиска. Прямо сейчас отображаются только партнеры, у которых в заголовке или содержании есть слово «двери».

Я использую функцию searchAll, поэтому стандартный поиск по wp будет искать все.

// Define what post types to search
function searchAll( $query ) {
if ( $query->is_search ) {
    $query->set( 'post_type', array( 'post', 'page', 'feed', 'partner','project', 'press', 'review' ));
}
return $query;
}
// The hook needed to search ALL content
add_filter( 'the_search_query', 'searchAll' );

Чего мне не хватает?

Ответы [ 2 ]

1 голос
/ 08 декабря 2011

ваш запрос ищет для post_type, а не category_name.

post_type используется для пользовательских типов записей или таксономий.

ваш запрос должен содержать $query->set( 'category_name', array( 'post', 'page', 'feed', 'partner','project', 'press', 'review' ));

однако, в некоторых случаях (и я не знаю причину) это не будет работать для подкатегорий.в этом случае вы должны использовать вставленную категорию-слизень (slug).

0 голосов
/ 14 декабря 2011

Я изменил свою строку на это:

<?php
// Define what post types to search
function searchAll( $query ) {
    if ( $query->is_search ) {
        $query->set( 'category_name', array( 'post', 'page', 'feed', 'partner','project', 'press', 'review' ));
    }

    return $query;
}

// The hook needed to search ALL content
add_filter( 'pre_get_posts', 'searchAll' );

Хотя у меня есть собственные таксономии.В основном я пытаюсь создать функцию «Поиск по всему».

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