2016-11-19 112 views
0

聲明:我不打算使用任何其他方式,我有特定的要求。從正常sql查詢WordPress數據庫

我想要的就是從posts表加入posts meta,這樣我就可以在每篇文章中獲得精選圖片。我能夠獲得通過WHERE子句後類型是帖子的帖子和發表,但我不知道怎麼寫加盟讓MySQL能夠獲得功能圖像的每個發佈

回答

0

您可以嘗試這樣的事:

$sql = " 
    SELECT $wpdb->posts.* 
    FROM $wpdb->posts, $wpdb->postmeta 
    WHERE $wpdb->posts.ID = $wpdb->postmeta.post_id 
    AND $wpdb->posts.post_status = 'publish' 
    AND $wpdb->posts.post_type = 'post' 
    ORDER BY $wpdb->posts.post_date DESC 
"; 

// Get an array of objects 
$posts = $wpdb->get_results($sql, OBJECT); 

您可能會check more here

+0

您好,感謝回答,但我沒有在這種情況下訪問PHP,所以我需要一個簡單的MySQL查詢。 –

+0

即使對於普通查詢,如果您正在通過腳本運行它,您也需要訪問php腳本。 –

0

如果別人還在這裏尋找所需要的SQL你去

 SET @term = "someterm" 
     SELECT DISTINCT 
      posts.id, 
      posts.post_author, 
      posts.post_title, 
      posts.post_date, 
      LEFT(posts.post_content,300) post_content, 
      wpmeta.meta_value thumbnail 
     FROM wp_posts posts 
      INNER JOIN wp_postmeta wpm ON posts.id = wpm.post_id 
      INNER JOIN wp_postmeta wpmeta ON wpm.meta_value = wpmeta.post_id 
      LEFT JOIN wp_term_relationships rel ON rel.object_id = posts.ID 
      LEFT JOIN wp_term_taxonomy tax ON tax.term_taxonomy_id = rel.term_taxonomy_id 
      LEFT JOIN wp_terms t ON t.term_id = tax.term_id 
     WHERE 
      post_status = 'publish' 
      AND posts.post_type = 'post' 
      AND wpm.meta_key = '_thumbnail_id' 
      AND wpmeta.meta_key = '_wp_attached_file' 
      AND 1 = 
       CASE 
        WHEN @term IS NULL THEN 1 
        WHEN @term IS NOT NULL AND t.term_id = @term THEN 1 
        ELSE 0 
       END 
     ORDER BY post_date DESC