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情報
Contact Form 7をレスポンシブ対応する

お問い合わせフォームを作るときに定番のプラグイン「Contact Form 7」 …

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

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

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

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

wordpress情報
カスタム投稿をプラグインを使って実装し抽出する

WordPressでブログだけでなく通常のコーポレートサイトのようなページを作成 …

wordpress情報
使用しているテンプレートファイル名を表示

WordPressのテーマを自分て作成しているとき現在表示されているのがどのテン …

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

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

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

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

wordpress情報
特定のページのみSSLに対応させる

申し込みページに住所等の個人情報を入力する場合は、情報流出を防ぐためSSLを導入 …

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

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

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

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