douyanxing6054 2019-05-01 00:30 采纳率: 0%
浏览 120
已采纳

显示登录用户的注释总数($ user_id = get_current_user_id();)

I would like to see the number of comments entered by the user connected ( $user_id = get_current_user_id(); ). I have tried this code but it does not work.

<?php
global $wpdb, $post, $current_user;
get_currentuserinfo();
$userId = $current_user->ID;

$where = 'WHERE comment_approved = 1 AND user_id = ' . $userId ;
$comment_count = $wpdb->get_var("SELECT COUNT( * ) AS total 
                                 FROM {$wpdb->comments}
                                 {$where}");
echo $comment_count;
?>

Do you have any advice? What am I doing wrong? Thank you.

  • 写回答

1条回答 默认 最新

  • dqmhgz5848 2019-05-01 02:02
    关注

    You can use the get_comments function provided by Wordpress to query all comments based on query arguments. Here's your code refactored to use this function:

    <?php
    global $current_user;
    
    $userId       = $current_user->ID;
    $comment_args = [
       'user_id' => $userId,
       // `count` is set to true to return the number of comments per UserID
       'count'   => TRUE
    ];
    
    echo get_comments( $comment_args );
    ?>
    

    See the docs here for full reference on the get_comments function.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?