カテゴリ 982 の子にある投稿を含め、カテゴリ 982 のみにある投稿を除外する方法はありますか?
<?php query_posts($query_string . '&cat=-282,-428,,-1046,-1103,-982'); ?>
カテゴリ 982 の子にある投稿を含め、カテゴリ 982 のみにある投稿を除外する方法はありますか?
<?php query_posts($query_string . '&cat=-282,-428,,-1046,-1103,-982'); ?>
まず、親カテゴリの子 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 );