まとめ:Wordpressでget_posts+カスタムフィールドの検索一覧。で、WordPressでget_postsのパラメータ指定して、色々な検索条件で検索できることをまとめました。
検索方式の一つにcompareというパラメーターを使って検索できる方法も書いたのですが、これが結構便利なんです。
いあゆるLIKEや>などSQLのSELECT文と同様の検索ができるといったもの。カスタムフィールドでデータの型をあわせる必要がありますがそれができていればcompareで情報を引き出してくることができます。
ちょくちょく使うのに、忘れてしまい前のデータとかを探してしまうため自分用にもまとめてみました。
$args = array(
'post_type'=>'post',
'post_status'=>'publish',
'posts_per_page'=>5,
'meta_key' => 'キー名',
'meta_value' => '検索内容',
'compare'=>'>'
);
種類 | 内容 |
---|---|
= | 検索内容と一致(例:検索内容:りんご、フィールド:りんご) |
!= | 検索内容と一致しない(例:検索内容:りんご、フィールド:りんご以外のフィールド) |
> | 検索内容より大きい(例:検索内容:10、フィールド:11以上) |
>= | 検索内容以上(例:検索内容:10、フィールド:10位上) |
< | 検索内容より小さい(例:検索内容:5、フィールド:4以下) |
<= | 検索内容以下(例:検索内容:5、フィールド:5以下) |
LIKE | 検索内容が含まれている(例:検索内容:バナナ、フィールド:バナナが一部でも含まれているフィールド) |
NOT LIKE | 検索内容が含まれていない(例:検索内容:バナナ、フィールド:バナナが一部でも含まれていないフィールド) |
IN | 配列で指定した内容が一部でも含まれている(例:検索内容:りんご、バナナ、もも、フィールド:検索配列が一部でも含まれているフィールド) |
NOT IN | 配列で指定した内容が一部でも含まれていない(例:検索内容:りんご、バナナ、もも、フィールド:検索配列が一部でも含まれていないフィールド) |
BETWEEN | 指定した数字の範囲内 |
NOT BETWEEN | 指定した数字の範囲外 |
NOT EXISTS | 要素が入っていない |
$args = array(
'post_type'=>'post',
'post_status'=>'publish',
'posts_per_page'=>5,
'meta_query' => array(
array('key'=>'キー名','value'=>検索内容,'comapre'=>'内容'),
array('key'=>'キー名','value'=>検索内容,'comapre'=>'内容'),
array('key'=>'キー名','value'=>検索内容,'comapre'=>'内容')
)
);