我已经使用此功能针对用户的某些注释设置了一些自定义元:add_comment_meta($wp_comment_id,’accepted’,true);
我想做的是在其个人资料/ author / username上显示每个用户的特殊评论数,例如,如果一个用户发表了20条评论,而5条评论的元数据为true,则该值为5,
我该怎么办?谢谢.
解决方法:
我假设这是wordpress的最新版本.您可以在这里查看数据库架构图:http://codex.wordpress.org/images/9/9e/WP3.0-ERD.png
我还没有测试过,但是应该可以做到这一点:
<?php
getCommentCount('John', 'accepted', 'true');
function getCommentCount($author_name, $meta_key, $meta_value){
if(empty($author_name)){
return;
}
$author_name = trim($author_name);
$sql = 'SELECT count(*) FROM ' . $wpdb->comments . ' comments '
. ' INNER JOIN ' . $wpdb->commentmeta . ' meta ON comments.comment_ID = meta.comment_id '
. ' WHERE comments.comment_author = %s AND meta.meta_key = %s ANd meta.value = %s ';
$commentCount = $wpdb->get_var($wpdb->prepare($sql, $author_name, $meta_key, $meta_value));
return $commentCount;
}