2017-05-02 4 views
0

좋습니다. 그래서 meta_key에 의해 게시물과 관련된 모든 주석을 정렬하려고합니다.WP_Comment_Query를 사용하여 주석을 얻으십시오.

현재 모든 댓글은 좋아요 표시되지만, 좋아하는 댓글은 표시되지 않습니다.

$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

당신이 얻는 것은 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 파일에서.
코드가 테스트되고 작동합니다.

희망이 있습니다.