このエントリーをはてなブックマークに追加

functions.php に

add_action( 'pre_get_posts', 'my_exclude_terms_from_query' );
function my_exclude_terms_from_query( $query ) {
    if ( $query->is_main_query() /* その他の設定 */ ) {
        $tax_query = array (
                array(
                    'taxonomy' => 'タクソノミー名',
                    'terms' => array( 'スラッグ1','スラッグ2' ),
                    'field' => 'slug',
                    'operator' => 'NOT IN',
                )
        );
        $query->set( 'tax_query', $tax_query );
    }
}

is_main_query って、とても便利なんだけど、1つのサイト内で色々な場合の色々な設定をしないといけない場合、だんだん頭が混乱してくる…結果を見ながらよく確認しないといけません。それでも、テンプレート上で分岐するよりも楽ですね。

2013.01.25 投稿 2015.04.05 更新

新しい情報を追記している場合はありますが、古い情報の修正はしていません。投稿日・文中の日付を参照してください。

Recent Articles