带有多个POST_META数据的WordPress查询帖子

时间:2016-09-05 作者:Ronon

我想在滑块中显示标记为“特色”的帖子
为此,我创建了一个带有复选框的post meta框
现在我有以下查询

SELECT wp_posts.* FROM wp_posts, wp_postmeta WHERE wp_posts.ID = wp_postmeta.post_id AND wp_postmeta.meta_key = \'\' AND wp_postmeta.meta_key = \'theme_featured_post\' AND wp_postmeta.meta_value = \'1\' AND wp_posts.post_status = \'publish\' AND wp_posts.post_type = \'post\' AND wp_posts.post_date < NOW() ORDER BY wp_posts.post_date DESC  
但我还需要post\\u meta表中的另一个值。因此,如何在查询中选择第二个meta\\u键。我可以用

get\\u post\\u meta($postid,“custom\\u image”)

因为事务很昂贵,我想在一个查询中包含它
custom\\u image是一个图像id,在表中有自己的行。

1 个回复
最合适的回答,由SO网友:Rarst 整理而成

在WP中使用原始SQL不是正常的做法,除非您完全有权这样做。您应该为此使用普通的WP API,并在遇到性能问题后进行优化。

除此之外,安装了对象缓存后,API将在页面加载内和页面加载之间透明地缓存数据(如post meta)。在典型情况下,对象缓存将比数据库获取快(这就是关键所在)。