ど素人から毛を生やす。<延>

include_childrenとoperatorが両立できなかった件

Web > WordPress 2014年7月16日(最終更新:10年以上前)

2014年7月16日に作成されたページです。
情報が古かったり、僕が今以上のど素人だった頃の記事だったりする可能性があります。

どもです。
目の周りの腫れが引かない餅。です。

どうでも良いですが、二重気味の人って目の上が腫れるとくっきり二重瞼になりますね。
目が潰れて小さくなるので、決して美形になるとかそういうことはないのですが(笑)

 

そんなことよりWordPress。

下請けでWordPressの積み込みなんかやっていると、
「よくもまぁこんな無茶ぶりを…」と溜息をつくことも日常茶飯事だと思いますが、
それでもなんとかなってしまうのがWordPressの凄いところかと最近感じます。

で、今回の状況としましては、端的に言えば以下の通り。


$args = array(
   'tax_query' => array(
       array(
             'taxonomy' => 'タクソノミー名',
             'field' => 'term_id',
             'terms' => array( ××,○○ ),
             'include_children' => true,
             'operator' => 'AND'
            ),
        ),
        'post_type' => 'カスタム投稿名',
        'posts_per_page'=> -1
);

query_posts( $args );

このとき、'include_children' => trueが正常に動いてくれないといいますか、
子カテゴリの記事を表示してくれない問題が発生しました。

'operator' => 'IN'だと一応、動きます。
'operator' => 'AND'と'include_children' => trueは両立できないのかもしれません。

が、「両立できない」では困るので、このどちらかを使わずに同じ結果を出します。


$args = array(
   'tax_query' => array(
       array(
             'taxonomy' => 'タクソノミー名',
             'field' => 'term_id',
             'terms' => array( ×× ),
             'include_children' => true,
            ),
       array(
             'taxonomy' => 'タクソノミー名',
             'field' => 'term_id',
             'terms' => array( ○○ ),
             'include_children' => true,
            ),
         'relation' => 'AND',
        ),
        'post_type' => 'カスタム投稿名',
        'posts_per_page'=> -1
);

query_posts( $args );

'operator' => 'AND'を'relation' => 'AND'で代用しました。
これで正常な動作を確認。

この記事は役に立ちましたか?
  • _(:3」∠)_ 面白かった (0)
  • (`・ω・´) 役に立った (0)
  • (・∀・) 参考になった (1)