web-dev-qa-db-ja.com

作成者ページにユーザーごとのすべてのコメントまたは最近のコメントを表示する

私は各作者のための作者ページを持っています、そして、私が彼らのニックネームをクリックするならば、私は彼らのすべてのコメント(または彼らの最近のコメントすべて)を見たいです。これどうやってするの?私はコードの下を試してみましたが、それはユーザーごとのユニークなコメントを表示していません...それは単に結合された全員からの最近のコメントすべてを出力します、しかし私はそれを望みません。

<?php
$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>';
endforeach;

?>

</ul></div>
2
user1627363

あなたの問題はauthor_emailを使っている、あなたは必要です user_id

私はちょうど同じようなスクリプトを使います。

<?php
    $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";}

?>

5
Andy
0
0_0