der Gegenwart

どうでもいい雑記その467

WordPressでカテゴリ A && ( タグ B || タグ C) の条件を満たす記事を取り出す

とまぁ、いつものように、私用のメモ。適当なことを書いている可能性があるので参考にする人*1は気をつけること。何かあっても私は一切責任取りません。

あんま検証してないからよく分からんけど、「query_posts()」で複数条件組み合わせて投稿を取り出すときの引数は、「cat」「category_name」「tag」ではなく「category__and」「category__in」「tag__and」「tag__in」「tag_slug__and」「tag_slug__in」を使わないとダメっぽい。

上の例でいくと「$query = array( ‘cat’=>カテゴリ A の ID , ‘tag_slug__in’=>array(‘ タグ B のスラッグ ‘ , ‘ タグ C のスラッグ ‘) );」では希望の条件(A && (B || C))を満たす記事を取り出せないっぽい。

ついでにいうと上に挙げた「category__and」なんかの各引数に渡す値は配列じゃないとダメなので要注意。あとカテゴリー指定の方は「category_slug__and」 とかがないからカテゴリースラッグの配列は利用できないので、そこにも注意。っていうか何でないのよ。どうしてもスラッグを使って条件指定したい場合は、カテゴリースラッグをIDに変換してから配列に入れるしかないね。

この記事もあとでまとめてメモに書き加えておこうと思ったけど、見辛いな、自分で書いたメモ。複数ページに分けるのも微妙だし、目次くらいつけておいたほうが良さそうだ。何をメモったのか忘れそう。

  1. いないと思うけどね