Wordpress: выбор только одного типа поста для WP_list_categories - PullRequest
0 голосов
/ 01 июня 2011

Похоже на this.

Я создал два пользовательских типа записей, и теперь они с радостью делятся двумя таксономиями, но, к сожалению, wp_list_categories не позволяет мне перечислять таксономию потолько один тип сообщения.Код wp_list_categories опирается на get_categories, в результате чего получается массив категорий.Поэтому я создал wp_query:

$query = new WP_Query( 'taxonomy=123&term=9&post_type=type' )

, чтобы я мог сделать что-то вроде:

if (!$query) {
unset $categories[categories]
}

, но я продолжаю получать запрос $, даже если таких сообщений нет.

1 Ответ

0 голосов
/ 02 июня 2011

Я сделал это, клонировав функцию wp_list_categories, присвоив ей другое имя и вставив код после строки: $ Categories = get_categories ($ r):

foreach ($ category as $ key => $ category) { $ temp = array ('post_type' => $ r ['type'], 'tax_query' => array ( массив ( 'таксономия' => $ категория-> таксономия, 'field' => 'slug', 'term' => $ category-> slug )

    )
        );
    $pauli = new wp_query($temp);
    if($pauli->post_count==0){
        unset($categories[$key]);
    }
}

Как вы видите, он удаляет категории, которые не имеют нужного вам типа записи, а затем продолжает процесс, как обычно это делает wp_list_categories. Возможно, вам придется добавить фильтр, чтобы обеспечить, чтобы на вызываемой странице категории / странице таксономии отображался только тот тип сообщения, который вы хотите, но это зависит от того, какой тип постоянной ссылки у вас есть.

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