0

カスタム フィールドの 1 つの値に基づいて投稿を表示するにはどうすればよいですか? 以下の私のコードは機能していないようです:

$args = array(
    'post_type' => 'sample-cpt',
    'meta_query ' => array(array('key'=>'cpt_display', 'value' => 1))
);
$samples = new WP_Query($args);

cpt_displayの値がであっても、これはすべての投稿を返します0。何か不足していますか?

4

2 に答える 2

0

これを試して..

args の一部として meta_key = キーを追加し、それを meta_query 配列に再度含めます。

 $args = array(
   'post_type' => 'sample-cpt',
   'meta_key' => 'key',
   'order' => 'ASC',
   'meta_query' => array(
       array(
           'key' => 'key',
           'value' => 1
       )
   )
 );
 $samples = new WP_Query($args);

http://codex.wordpress.org/Class_Reference/WP_Query

于 2012-11-04T23:42:13.057 に答える
0

私は答えを見つけました。の値は'meta_value'、文字列ではなく配列である必要があります。これはWP_Query Codexからの大きな逸脱であり、修正する必要があります。

$args = array(
    'post_type' => 'sample-cpt',
    'meta_key' => 'cpt_display',
    'meta_value' => array(1)
);
$samples = new WP_Query($args);
wp_reset_query();

これで、カスタム フィールドの値が の投稿のみが表示されます1IN()リクエスト クエリを見ると、配列を使用することで、リクエストが次の代わりに SQL を使用して投稿を検索するように変換されることがわかります'='

...postmeta.meta_key='cpt_display' AND CAST(postmeta.meta_value AS CHAR) IN ('1'))...

出典:カスタムフィールドの日付範囲ごとにカスタム投稿タイプを表示する

于 2012-11-05T05:44:07.217 に答える