2016-11-19 114 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