私は各作者のための作者ページを持っています、そして、私が彼らのニックネームをクリックするならば、私は彼らのすべてのコメント(または彼らの最近のコメントすべて)を見たいです。これどうやってするの?私はコードの下を試してみましたが、それはユーザーごとのユニークなコメントを表示していません...それは単に結合された全員からの最近のコメントすべてを出力します、しかし私はそれを望みません。
<?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>
あなたの問題は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";}
?>
これを確認してください WordPressのユーザーIDでコメントを表示します