Get postsを使用していますが、特定のmeta_keyが特定の値を持つ投稿に基づいてクエリを絞り込む必要があります。
このようなもの
<?php $reviews = get_posts('post_type=reviews&numberposts=-1& // eg. // location=berkshire');
それは可能ですか?
素晴らしい
get_posts
は WP_Query が受け入れる引数のいずれかを受け入れます。だからいくつかの選択肢があります。
1. meta_key
およびmeta_value
<?php
get_posts(array(
// some more args here
'meta_key' => 'some_key',
'meta_value' => 'some value'
));
2. meta_query
meta_query
はmeta_key
とmeta_value
を使うよりも洗練されています。たとえば、meta_keyに3つの値のいずれかを持つ投稿を取得したいとします。
<?php
get_posts(array(
// more args here
'meta_query' => array(
// meta query takes an array of arrays, watch out for this!
array(
'key' => 'some_key',
'value' => array('anOption', 'anotherOption', 'thirdOption'),
'compare' => 'IN'
)
)
));
WP_Query
のドキュメントの カスタムフィールドのセクション に、チェックアウトするためのたくさんの例があります。
はい。それが可能だ。 meta_key
およびmeta_value
パラメーターを使用してください。 meta_key
はカスタムフィールドキー(例:location)用で、meta_value
はカスタムフィールド値(例:berkshire)用です。
以下の洗練されたコードを使用してください。
/* Query args. */
$args = array(
'post_type' => 'reviews',
'posts_per_page' => -1,
'meta_key' => 'location',
'meta_value' => 'berkshire'
);
/* Get Reviews */
$reviews = get_posts( $args );