2012-04-16 7 views
0

最新の投稿を見出しのメタ値で取得しようとしていますが、代わりに最新の投稿が表示されます。ここで私の質問ですが、何が間違っていますか?メタデータ付きのWordPressカスタムクエリ

$querydetails = " 
     SELECT $wpdb->posts.* 
     FROM $wpdb->posts, $wpdb->postmeta 
     WHERE $wpdb->posts.ID = $wpdb->postmeta.post_id 
     AND $wpdb->postmeta.meta_value = 'headline' 
     AND $wpdb->postmeta.meta_key = 'custom_select' 
     AND $wpdb->posts.post_status = 'publish' 
     AND $wpdb->posts.post_type = 'post' 
     ORDER BY $wpdb->posts.post_date DESC 
     LIMIT 1 
    "; 

    $headline = $wpdb->get_results($querydetails, OBJECT); 

答えて

1

あなたはwp_queryでそれを行う必要があり、
以下のコードは、それを行う必要があります。

<?php 
$args = array(
    'post_type' => 'post', 
    'post_status' => 'publish', 
    'meta_key' => 'custom_select', 
    'meta_value' => 'headline', 
    'posts_per_page' => '1', //limit 
    'paged' => get_query_var('page'), 
    'order' => 'DESC', 
    'orderby' => 'date' 
); 
$query = new WP_Query($args); 
?> 

あなたはloop

+0

おかげでthe_content()のようなデフォルトのwordpressのタグを使用することができます。この方法!それはうまくいった!私はそれをやっている方法で何が間違っていますか? – looneydoodle

+0

わかりませんが、 'echo $ query-> request'で作成したクエリWP_queryを確認できます – janw

関連する問題