2020年12月17日

カスタムフィールドを絞り込みの条件に入れる query_posts

PHP

$args = array(
    'cat' => 1937,
    'posts_per_page' => 4,
    'meta_key' => 'カスタムフィールド名前',
    'meta_value' => 'カスタムフィールドの値',
    'meta_compare' => 'NOT EXISTS',//存在しない場合
);
query_posts( $args );
※Advanced Custom Fieldsでもこのやり方でOK

複数のカスタムフィールドを条件に入れる 'OR' 編

この書き方は2つのカスタムフィールドを条件を「または」でつないだ状態
$args = array(
    'cat' => 1937,
    'posts_per_page' => 4,
    'meta_query' => array(
        array(
        'key' => 'カスタムフィールド名前',
        'value' => 'カスタムフィールドの値',
        'compare' => '=',//イコールだったらがデフォルト値
        )
    ),
    'meta_query' => array(
        array(
        'key' => 'カスタムフィールド名前',
        'value' => 'カスタムフィールドの値',
        'compare' => '=',//イコールだったらがデフォルト値
        )
    ),
);
query_posts( $args );

複数のカスタムフィールドを条件に入れる 'AND' 編

この書き方は2つのカスタムフィールドを条件を「かつ」でつないだ状態
$args = array(
    'cat' => 1937,
    'posts_per_page' => 4,
    'meta_query' => array(
        array(
        'key' => 'カスタムフィールド名前',
        'value' => 'カスタムフィールドの値',
        'compare' => '=',//イコールだったらがデフォルト値
        ),
        array(
        'key' => 'カスタムフィールド名前',
        'value' => 'カスタムフィールドの値',
        'compare' => '=',//イコールだったらがデフォルト値
        ),
    ),
);
query_posts( $args );

compare の中にいれられるもの例

= 等しい
!= 等しくない
LIKE 正規表現比較を使用したパターンマッチング
IN 複数の条件一致 どれかに等しいかどうか
空じゃない場合はvalueを''で空にして、!=。
Wish I could be Comic Sans ついにマイコンピューターでインターネットを始めたの
わたしはヨガマットデザイナー

fzfeed