子カテゴリーのページを除いてページの一覧を表示

カテゴリー内のページ一覧を表示する際に子カテゴリー分を除いて表示したい場合の方法です。
たいしたことではないと思うのですが、方法を思いつくのに時間が掛かってしまったので、備忘録として。

今回、「get_term_children()」を使用して子カテゴリー(子ターム)のidを配列で取得し、それをそのまま「WP_Query」の「category__not_in」に放り込んで子カテゴリー(子ターム)を除外しています。

ほかにも方法あると思うのですが、とりあえずこれで目的達成。

$term_id = get_query_var('cat');
$taxonomy_name = 'category';
$termchildren = get_term_children( $term_id, $taxonomy_name );
$wp_query = new WP_Query(array('post_type' => 'post','cat' =>$term_id,'order' => 'ASC', 'posts_per_page' => -1, 'category__not_in' => $termchildren));

TagTimes

Simple time tracking tool
Developed by Namu Works