2011-02-06 14 views
0

カスタムフィールドを使用して3つの条件が満たされた場合にのみ、最新の投稿を投稿するようにWordPressを取得しようとしています。最初は川を「コロラド」、エリアは「エリア4」、位置は「サウンドバイト5」でなければなりません。これも可能ですか?カスタムフィールドがtrueの場合最新の投稿を表示

これまでコード:

<?php $querystr = " 
     SELECT wposts.* 
     FROM $wpdb->posts wposts, $wpdb->postmeta wpostmeta 
     WHERE wposts.ID = wpostmeta.post_id 
     AND wpostmeta.meta_key = 'select_river' 
     AND wpostmeta.meta_value = 'Colorado' 
     AND wpostmeta.meta_key = 'select_area' 
     AND wpostmeta.meta_value = 'Area 4' 
     AND wpostmeta.meta_key = 'select_soundbite_position' 
     AND wpostmeta.meta_value = 'soundbite 5' 
     AND wposts.post_status = 'publish' 
     AND wposts.post_type = 'post' 
     ORDER BY wposts.post_date DESC 
     "; 

    $pageposts = $wpdb->get_results($querystr, OBJECT); 

     if ($pageposts): 
     foreach ($pageposts as $post): 
     setup_postdata($post); ?> 

     <p>Test</p> 

     <?php endforeach; ?> 
    <?php endif; ?> 

それが動作しないと私はなぜ...よくPHPの私の理解は、そのことについて

答えて

0

何を欠いている見当がつかない:

<?php 
$querystr = " 
     SELECT wposts.* 
     FROM $wpdb->posts wposts, $wpdb->postmeta wpostmeta, $wpdb->postmeta wpostmeta2, $wpdb->postmeta wpostmeta3 
     WHERE wposts.ID = wpostmeta.post_id 
     AND wpostmeta.meta_key = 'select_river' 
     AND wpostmeta.meta_value = 'Colorado' 
     AND wpostmeta2.meta_key = 'select_area' 
     AND wpostmeta2.meta_value = 'Area 4' 
     AND wpostmeta3.meta_key = 'select_soundbite_position' 
     AND wpostmeta3.meta_value = 'soundbite 5' 
     AND wposts.post_status = 'publish' 
     AND wposts.post_type = 'post' 
     ORDER BY wposts.post_date DESC 
     "; 
?> 
関連する問題