好的,我试图通过meta_key对与帖子相关的所有评论进行排序。
它目前显示所有带有赞的评论,但现在没有任何喜欢显示评论。
以下是查询:
$args = array(
'post_id' => intval($_SESSION['thePostId']),
'meta_key' => 'cld_like_count',
'orderby' => 'meta_value',
'order' => 'DESC',
'parent' => '0',
);
// The Query
$comments_query = new WP_Comment_Query;
$comments = $comments_query->query($args);
我希望它显示所有评论,而不仅仅是喜欢的评论 不确定如何解决这个问题。
答案 0 :(得分:0)
你得到的是WordPress的默认行为;如果你是 按特定键排序然后你必须确保它存在, 否则WordPress会忽略它。
解决方案:您必须确保 当发布评论时,用它添加自定义元字段;运用comment_post
和update_comment_meta
以下是为您执行上述任务的代码。
add_action('comment_post', 'wh_checkAndAddLike', 10, 2);
function wh_checkAndAddLike($comment_ID, $comment_approved)
{
$like_key = 'cld_like_count';
$comment_details = get_comment($comment_ID);
$comment_post_id = $comment_details->comment_post_ID;
//fetch like comment meta
$meta_values = get_comment_meta($comment_ID, $like_key, TRUE);
//if like meta key is not present then add a key
if (($meta_values == FALSE) && (get_post_type($comment_post_id) == 'post')) //replace post with your post_type
{
update_comment_meta($comment_ID, $like_key, 0);
}
}
代码进入您的活动子主题(或主题)的functions.php
文件。或者也可以在任何插件php文件中。
代码已经过测试并且有效。
希望这有帮助!