I have author pages for each author and I want to see all of their comments (or all of their recent comments) if I click on their nickname. How can I do this? I tried the beneath code, but that does not show the unique comments per user... It just outputs all recent comments from everyone combined, but I don't want that.

$author_email = get_the_author_meta( 'user_email' );
$args = array(
    'author_email' => $author_email,
    'number' => '10'
$comments = get_comments($args);
foreach($comments as $comment) :
    echo('<li class="comment">' . $somment->comment_content),'<h5><a href='.get_permalink($comment->comment_post_ID).'>', get_the_title($comment->comment_post_ID), '</a></h5>', '<time><em>' . $comment->get_comment_date . '</em></time>', '</li>';



2 Answers 2


your problem is using author_email, you need user_id:

i just use similar script.

    $args = array(
        'user_id' => get_the_author_meta('ID'),
        'number' => 10, // how many comments to retrieve
        'status' => 'approve'

    $comments = get_comments( $args );

    if ( $comments )
        $output.= "<ul>\n";
        foreach ( $comments as $c )
        $output.= '<li>';
        $output.= '<a href="'.get_comment_link( $c->comment_ID ).'">';
        $output.= get_the_title($c->comment_post_ID);
        $output.= '</a>, Posted on: '. mysql2date('m/d/Y', $c->comment_date, $translate);
        $output.= "</li>\n";
        $output.= '</ul>';

        echo $output;
    } else { echo "No comments made";}



Check This Show Comments by User ID in WordPress

  • Nope... It doesn't show a thing. May 15, 2013 at 8:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.