2012-01-13 15 views
1

私はカスタムフィールド名 "front_sl_slider"を持っています。私はカスタムフィールド "front_sl_slider"値が1に設定されているすべての投稿を表示したいと思います。また、クエリの結果として得られる投稿のサムネイル、タイトル、その他のカスタムフィールドデータを表示したいと思います。meta_keyの結果を得るためにクエリを選択

$meta_pages = $wpdb->get_results("SELECT * FROM $wpdb->posts WHERE post_type = 'page' AND meta_key = 'front_sl_slider' AND meta_value = 1 ORDER BY menu_order", 'OBJECT'); 
    if ($meta_pages) 
     { 
     foreach ($meta_pages as $pageChild1) : setup_postdata($pageChild1); 
     echo get_post_meta($pageChild1->ID, 'front_sl_slider', true); 
     echo get_post_meta($pageChild1->ID, 'project_client_name', true) ."<br>"; 
     echo get_post_meta($pageChild1->ID, 'project_architect', true) ."<br>"; 
     endforeach; 
     } 
+0

あなたの選択クエリは間違っています。データベース構造のコーデックスを参照してphpmyadminやadminerのようなツールを使ってクエリを構築してください。実際に動作するかどうかは実際に分かります。質問をする前に私があなたに期待している仕事もあります。他のすべてはちょうど推測であり、プログラミングではありません。このサイトはプログラミングに関するものです。だからあなたの質問にいくつかの愛を与えてください。 – hakre

+0

テーブルの構造を教えてください。 'front_sl_slider'という列がありますか? –

+0

@ mathematical.coffee:テーブル構造はwordpressのものです。私の前のコメントを見てください。 – hakre

答えて

3
$querystr = " SELECT $wpdb->posts.* , $wpdb->postmeta.* 
         FROM $wpdb->posts, $wpdb->postmeta 
         WHERE $wpdb->posts.ID = $wpdb->postmeta.post_id 
         AND $wpdb->postmeta.meta_key = 'Featured_Projects_Page' 
         AND $wpdb->postmeta.meta_value = 1 
         AND $wpdb->posts.post_type = 'page' 
         ORDER BY $wpdb->posts.post_date DESC 
        "; 
$pageposts = $wpdb->get_results($querystr, OBJECT); 

これは動作するはずです、これを試してみてください。

関連する問題