WordPressのカスタム投稿で、カスタムタクソノミーの特定のタームを対象から除外する方法についてご紹介します。
ターム一覧から特定のタームを除外
まずは、カスタムタクソノミーのターム一覧から、特定のタームを除外する方法から。
PHP
$terms = get_terms( 'news_cat' , $args ); |
foreach ( $terms as $term ) { |
echo '<li><a href="' .get_term_link( $term ). '">' . $term ->name. '</a></li>' ; |
ターム一覧の出力方法についてはこちらの記事で紹介しています。
excludeパラメータ
get_terms()
関数の第二引数に入れる配列に、exclude
パラメータの指定をしてあげるだけです。
exclude
パラメータには除外したいタームのIDを指定します。
カンマで区切ることで、複数のタームIDを指定することも可能です。
タームIDの調べ方
WordPressのデバッグ関数であるvar_dump()
を使用すると、タームIDを調べることができます。
get_terms()
関数で取得したタームの情報をvar_dump()
で調べます。
$terms = get_terms( 'news_cat' , $args ); |
すると、以下のような配列が出力され、term_id
の値を発見できます。

記事一覧から、特定のタームの記事を除外
次は、カスタム投稿タイプの記事一覧から、特定のタームに属する記事を除外する方法についてです。
PHP
'taxonomy' => 'news_cat' , |
tax_queryパラメータ
クエリにtax_query
パラメータの指定を行います。
下記4つのパラメータの指定が必要です。
taxonomy
… カスタム投稿タイプfield
… タームの種類terms
… 特定のタームを指定operator
… 表示の有無
まとめ
以上、WordPressのカスタム投稿で、カスタムタクソノミーの特定のタームを対象から除外する方法についてご紹介しました。

Webエンジニア
大学在学中、2021年に不動産業界向けの某IT企業にてエンジニアとしてインターン参加。同年、KOPのインターンとして参加の後、改めてスタッフとして参画。