最简单的方法是排除父猫而不是儿童Wordpress

时间:2013-04-21 14:21:57

标签: wordpress

是否有任何方法可以包含982类别的任何子项中的帖子,但不包括仅属于982类别的帖子?

<?php query_posts($query_string . '&cat=-282,-428,,-1046,-1103,-982'); ?>

1 个答案:

答案 0 :(得分:0)

我首先要获取父类别的子ID,将它们存储在列表中,然后将它们作为参数传递给包含。

<?php

$cats = wp_list_categories('echo=0&title_li=&child_of=982');
$args = array(
    'cat' => array(
        '-282', 
        '-428',
        '-1046',
        '-1103',
        '-982'
    )
);

foreach($cats as $cat) {
    $args['cat'][] = $cat->id;
} 

$posts = query_posts( $args );

这些方面的东西。


您也可以采用非关联数组方法。

<?php

$cats = wp_list_categories('echo=0&title_li=&child_of=982');

$include_cats = "";

if(!empty($cats)) {
    foreach($cats as $cat) {
        $include_cats .= "," . $cat->id;
    } 
}

$posts = query_posts($query_string . '&cat=-282,-428,-1046,-1103,-982' . $include_cats );