私のホームページのスライダーでオールイベントカレンダーのカスタム投稿タイプai1ec_eventと通常のワードプレス投稿をクエリしようとしています。それはかなりうまくいきます。
今、私はカスタムフィールド値 "teaser"を持つ投稿のみをクエリしたいのですが、それはイベントではなく通常の投稿のみを返します。
<?php
query_posts( array(
'post_type'=>array('post','ai1ec_event'),
'posts_per_page' => 50,
'meta_query' => array(
array(
'key' => 'teaser',
'value' => 'on'
)
)
);
?>
投稿タイプのクエリを省略しても
<?php
query_posts( array(
'meta_query' => array(
array(
'key' => 'teaser',
'value' => 'on'
)
)
);
?>
投稿のみが返され、イベントは返されません。
WP_Queryが(カスタムフィールドを含む投稿)または(ailec_even)を取得できないのですが。あなたは、2番目のものよりも最初のものをクエリし、それらの配列をマージする必要があります。 query_postsの代わりに WP_Query を使用してください。
私のローカルインストールで試してみただけで、このコードは12の作品のindex.phpから呼び出されました。
$events_query = new WP_Query( array('post_type' => array('ai1ec_event', 'post'), 'meta_query' => array( array( 'key' => 'teaser', 'value' => 'on' ) )) );
while ( $events_query->have_posts() ) :
$events_query->the_post();
echo get_the_title() . '<br/>';
endwhile;
両方(ポストエンドイベント)が管理者ユーザによって作成されたと言わなければなりません - 私はコードをチェックしました、そしてカスタム機能を持つ広範囲な部分があります。