使用WP_Comment_Query获取评论

时间:2017-05-02 02:53:06

标签: php mysql wordpress comments hook-woocommerce

好的,我试图通过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);

我希望它显示所有评论,而不仅仅是喜欢的评论 不确定如何解决这个问题。

1 个答案:

答案 0 :(得分:0)

  

你得到的是WordPress的默认行为;如果你是   按特定键排序然后你必须确保它存在,   否则WordPress会忽略它。
  解决方案:您必须确保   当发布评论时,用它添加自定义元字段;运用   comment_postupdate_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文件中。
代码已经过测试并且有效。

希望这有帮助!