WordPressの勉強がてら

WordPressの初心者が独学でホームページ作成したときの技術メモ

WordPressの勉強がてら

カスタムフィールドの値をOR条件で抽出

      2015/05/21

カスタム投稿を作成した時に、カスタムフィールドの条件をOR条件で抽出したかったりしたので調べたときのメモ。

スポンサーリンク

 

投稿タイプ内容

以下のような投稿タイプを作成

投稿タイプ:食べ物 [food]

カスタムタクソノミー:食べ物カテゴリ[food_category] 、タグ:果物[fruit]、肉[meat]、野菜[vegetable]

カスタムフィールド:価格[price]

 

 

「果物」または「肉」で抽出

こんな感じ。タクソノミーの条件は「tax_query」を使用する。

$args = array(
    'post_type' => 'food',
    'tax_query' => array(
        array(    
            'taxonomy'=>'food_category',
            'field'    => 'slug',
            'terms'=>array('fruit', 'meat'),
            'operator' => 'IN',
            )
        ),
);
query_posts( $args );

 

「価格」条件を追加

100円か200円で抽出。

カスタムフィールドの条件はmeta_queryを使う。

$args = array(
    'post_type' => 'food',
    'meta_query' => array(
        array(    
            'key'=>'price',
            'value'=>array( '100','200'),
            'compare'=>'IN'
            )
        ),
    'tax_query' => array(
        array(    
            'taxonomy'=>'food_category',
            'field'    => 'slug',
            'terms'=>array('fruit', 'meat'),
            'operator' => 'IN',
            )
        ),
);

 

100円以上で抽出。

compareに「>=」を指定し、数値なので「’type’=>’NUMERIC’」と型を指定する。

$args = array(
    'post_type' => 'food',
     'meta_query' => array(
        array(    
            'key'=>'price',
            'value'=>'100',
            'compare'=>'>=',
            'type'=>'NUMERIC'
            )
        ),
    'tax_query' => array(
        array(    
            'taxonomy'=>'food_category',
            'field'    => 'slug',
            'terms'=>array('fruit', 'meat'),
            'operator' => 'IN',
            )
        ),
);

 

条件の演算子はいろいろ指定できる。

データ型 意味 有効なデータ型
‘=’ 値と一致する すべて(省略時)
‘!=’ 値と一致しない すべて
‘>’ 値より大きい 数値系・日時系
‘>=’ 値以上 数値系・日時系
‘<‘ 値より小さい 数値系・日時系
‘<=’ 値以下 数値系・日時系
‘LIKE’ 値で指定した文字列に一致する ‘CHAR’
‘NOT LIKE’ 値で指定した文字列に一致しない ‘CHAR’
‘IN’ 値(配列)で指定した何れかに一致する すべて
‘NOT IN’ 値(配列)で指定した何れにも一致しない すべて
‘BETWEEN’ 2つの値で指定した範囲内(境界を含む) 数値系・日時系
‘NOT BETWEEN’ 2つの値で指定した範囲外 数値系・日時系

 

データの型もいろいろある。

データ型 意味
‘CHAR’ 文字
‘NUMERIC’ ‘SIGNED’の別名
‘DECIMAL’ 浮動小数点数
‘SIGNED’ 整数(符号あり)
‘UNSIGNED’ 整数(符号なし)
‘DATE’ 日付
‘DATETIME’ 日時
‘TIME’ 時刻
‘BINARY’ バイナリー

 - WordPress

  • このエントリーをはてなブックマークに追加

  関連記事

wordpress情報
管理画面(ダッシュボード)のメニューの表示/非表示を手動で操作する方法

Webサイト作成後、クライアントに引き渡すとき、管理画面から不要なメニューは表示 …

wordpress情報
会員専用ページをつくる

会員専用ページをつくるにあたり、いろいろなプラグインがある。今回クライアントの要 …

wordpress情報
「Events Manager」の絞り込み検索フォームのリストの順序を変更する方法

イベントカレンダープラグイン「Events Manager」について便利な絞り込 …

wordpress情報
「Events Manager」の絞り込み検索ページへリンク(条件込み)を張る方法

イベントカレンダーに欠かせないプラグイン「Events Manager」。今回は …

wordpress情報
「Events Manager」で現在開催中のイベントを示すプレースホルダーを作成する

以前に「Events Manager」でオリジナルのプレースホルダーを追加するに …

wordpress情報
ショートコードやタグを登録して簡単に呼び出す

WordPressの記事を登録するときショートコードやタグなど手で打つのはめんど …

wordpress情報
「Events Manager」の検索フォームにカスタム分類(カスタムタクソノミー)フィールドを追加する

イベントカレンダーのプラグイン「Events Manager」には絞り込み検索が …

wordpress情報
「Events Manager」プラグイン を使ってイベントカレンダーを作成する

「WordPress イベントカレンダー」で検索するといろんなイベントカレンダー …

wordpress情報
Contact Form 7の初期値をクエリストリングから取得する

お問い合わせフォームを作成するときよく使うプラグイン「Contact Form …

wordpress情報
「Events Manager」でオリジナルのプレースホルダーを追加する

便利なイベントカレンダープラグイン「Events Manager」ですが、フォー …