かもメモ

自分の落ちた落とし穴に何度も落ちる人のメモ帳

WordPress WP_Query カスタム投稿の特定のtaxonomyを除く(含む)の指定方法

基本的にマニュアルに書いて有ることだけど、すぐ忘れるのでメモ。

タクソノミー(taxonomy)のパラメーター

タクソノミーに関する指定は、tax_queryをキーにした配列内に指定する。

特定の term を除く(含む) WP_Queryの指定方法

operator オプジョンで指定する。

<?php
$args = [
  'post_type' => ['my_post_type'],
  // タクソノミーに関する指定
  'tax_query' => [
    [
      // タクソノミー作成時に指定したタクソノミー名
      'taxonomy' => 'tax_name',
      // terms を slug で指定する
      'field'    => 'slug',
      // fieldで指定した方法で term そ指定する。この場合は slug 名で指定
      'terms'    => [
        'term_slug',
      ],
      // 上記のtermを除く場合は 'NOT IN' ・含む場合は 'IN'
      'operator' => 'NOT IN',
    ],
  ],
];
$the_query = new WP_Query($args);
// 処理
wp_reset_postdata();

 
関係ないけど、はてなブログのマークダウン、リンクをリストにしようとした時URLによっては-だとリストにならない時があってちょっとイライラする…


[参考]

Real World HTTP ―歴史とコードに学ぶインターネットとウェブ技術

Real World HTTP ―歴史とコードに学ぶインターネットとウェブ技術