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

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

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

このページは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)
  • (`・ω・´) 役に立った (0)