1

カテゴリ 982 の子にある投稿を含め、カテゴリ 982 のみにある投稿を除外する方法はありますか?

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

1 に答える 1

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 );
于 2013-04-21T15:28:30.760 に答える