かたつむりノート

パソコンとか生活の備忘録

WordPressで複数のカスタムフィールドを条件設定にして且つAND・ORを両方使う

time 2018/04/18

WordPressで複数のカスタムフィールドを条件設定にして且つAND・ORを両方使う

WordPressで投稿を呼び出す際に、複数のカスタムフィールドの値を条件にして絞り込むのに詰まったので備忘録。

meta_queryの中で入れ子にしたりするとAND・OR両方使ったり複数のカスタムフィールドの値を条件にできました。


すごい適当なサンプルですが、

query_posts(array(
'post_type' => 'hoge',
'meta_query' => array(
    'relation' => 'OR',
    array(
      'key' =>'joken1',
      'value' => array(100,500),
      'compare' => 'between'
    ),
   array(
      'key' =>'joken2',
      'value' => "hogehoge",
    ),
    array(
      'relation' => 'AND',
      array(
        'key' =>'joken3',
        'value' => array(50000,70000),
        'compare' => 'between'
      ),
      array(
        'key' =>'joken4',
        'value' => 'hage',
      )
    ),
)
));

上のコードだと

joken1 にヒットするもの
joken2にヒットするもの
joken3とjoken4の両方にヒットするもの

の全てが出力されます。

 

'relation' => 'OR',
'relation' => 'AND',

は初めて知りました。

最初SQLで記述しなきゃいけないのかといろいろ悩みましたが、さすがwordpress。便利ですねー。

役に立った 3

sponsored link

down

コメントする




このサイトについて

日頃調べて解決したこととか思った事とか徒然なるままに投稿していきます。



sponsored link