Wpdb查询当前帖子的评论元

时间:2015-01-09 作者:tonykhan

我有一个评论元字段,显示每个评论的评分,我想知道是否有任何方法可以查询数据库,以获得每个帖子的总评分。

在我的single.php, 但它显然给出了所有评论的总数。无论如何,我可以修改它,只包含来自当前帖子的评论。

// set the meta_key to the appropriate custom field meta key
$meta_key = \'rating_total\';
$ratingtotals = $wpdb->get_var( $wpdb->prepare( 
    "
        SELECT sum(meta_value) 
        FROM $wpdb->commentmeta 
        WHERE meta_key = %s
    ", 
    $meta_key
) );

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

您可以连接到comments表并使用get_the_ID():

// set the meta_key to the appropriate custom field meta key
$meta_key = \'rating_total\';
$ratingtotals = $wpdb->get_var( $wpdb->prepare( 
    "
        SELECT sum(cm.meta_value) 
        FROM $wpdb->commentmeta AS cm
        JOIN $wpdb->comments AS c ON (c.comment_ID = cm.comment_id)
        WHERE cm.meta_key = %s AND c.comment_post_ID = %d
    ", 
    $meta_key, get_the_ID()
) );

结束

相关推荐

$wpdb变量在中的非对象上引发对成员函数Get_Results()的错误调用

以下代码中出现以下错误:“对中的非对象调用成员函数get\\u results()”:require_once($_SERVER[\'DOCUMENT_ROOT\'] . $folder . \'/wp-config.php\'); require_once($_SERVER[\'DOCUMENT_ROOT\'] . $folder . \'/wp-load.php\'); if (!$wpdb) { $wpdb = new wpdb( DB_USER, DB_PASSWORD,