在WordPress中编写复杂查询的简单方法

时间:2014-06-26 作者:manojadams

我想在wordpress中运行一个类似这样的sql查询。只是想知道在wp中是否有一种简单的方法可以做到这一点。谢谢

无论如何,使用query\\u posts可以进行此查询吗?

select p1.meta_value as avg,p2。meta\\u值为总计,p1。meta\\u值*p2。meta\\u值作为wp\\u Posteta作为p1的乘积,wp\\u Posteta作为p2,其中p1。meta\\u键=“crfp平均评级”和p2。meta\\u键=\'crfp总评分\'和p1。post\\u id=p2。post\\u id

2 个回复
SO网友:Milo

我不会说这“简单”,但任何像您所拥有的那样无法通过API处理的复杂查询,WP_Query, 或其过滤器应使用wpdb class.

global $wpdb;

$rows = $wpdb->get_results(
    "
    SELECT  p1.meta_value as avg,
            p2.meta_value as total,
            p1.meta_value * p2.meta_value as product
    FROM    $wpdb->postmeta as p1,
            $wpdb->postmeta as p2
    WHERE   p1.meta_key = \'crfp-average-rating\'
            AND p2.meta_key = \'crfp-total-ratings\'
            AND p1.post_id = p2.post_id
    "
);

foreach( $rows as $row ){
    print_r( $row );
}

SO网友:Adam

既然我没有足够的观点来评论,我就回答这个问题。

您试图使用这些查询做什么?使用内置functions wordpress的。如果你坚持的话,我不能说在wordpress中让这更容易,但你可以尝试使用PHP到MySQL框架,比如medoo. 该框架帮助我减少了大量php到MySQL的开发时间,但它需要您设置另一个可以访问wordpress数据库的文件!(你可以把两者结合起来)祝你好运!

结束

相关推荐

使用新的WP-Query()从循环中过滤后期格式;

嗨,我目前正在为我的博客构建一个主题。下面的代码指向最新的帖子(特色帖子)。因为这将有一个不同的风格比所有其他职位。然而我想过滤掉帖子格式:链接使用我在循环中定义的WP查询,因为它给我带来了更多的灵活性。我该怎么做呢? <?php $featured = new WP_Query(); $featured->query(\'showposts=1\'); ?> <?php while ($featured->have_post