称之为OCD或者只是强迫性地需要将逻辑与表示分开,但我讨厌wp_list_comments()的一切 - 并且在某种程度上,还讨论了comment_form() - 我想知道是否有人有一个很好的循环示例通过评论过去的方式。
我知道回调和我的选择,但我也不喜欢这个选项。
赞赏任何帮助或正确方向的观点。
干杯。
答案 0 :(得分:2)
我写了一篇关于此的小帖子。 here
有几种方法来提取信息,但我喜欢这样做...... 使用get_comments()功能,您可以构建您需要的功能。
<?php
$recent_comments = get_comments( array(
'number' => 5,
'status' => 'approve',
'type' => 'comment'
) );
?>
在$ recent_comments上执行print_r
<?php
echo "<pre>";
print_r($recent_comments);
echo "</pre>";
?>
[0] => stdClass Object
(
[comment_ID] => 23387
[comment_post_ID] => 32
[comment_author] => Marty
[comment_author_email] => myemail@myemail.com
[comment_author_url] => http://www.website.com
[comment_author_IP] => 11.111.11.111
[comment_date] => 2010-09-22 08:09:24
[comment_date_gmt] => 2010-09-22 07:09:24
[comment_content] => the content of the comment
[comment_karma] => 0
[comment_approved] => 1
[comment_agent] => Mozilla
[comment_type] =>
[comment_parent] => 0
[user_id] => 2
[comment_subscribe] => N
)
然后只需执行一个for循环来处理每个评论并显示或隐藏您想要的内容..
<?php
foreach ($recent_comments as $comment)
{
?>
<li>
<a href="<?php echo get_permalink($comment->comment_post_ID);?>" title="<?php echo $comment->comment_author;?> on <?php echo get_the_title($comment->comment_post_ID); ?>">
<?php echo get_avatar( $comment->comment_author_email, '55' ); ?>
</a>
<h3>
<a href="<?php echo get_permalink($comment->comment_post_ID);?>#comment-<?php echo $comment->comment_ID;?>" title="<?php echo $comment->comment_author;?> on <?php echo get_the_title($comment->comment_post_ID); ?>">
<?php echo get_the_title($comment->comment_post_ID); ?>
</a>
</h3>
By: <?php echo $comment->comment_author;?>
</li>
<?php
}
?>
挂钩get_avatar()功能,这样可以让你从那里的电子邮件地址生成一张图片,如果有的话...
<?php echo get_avatar( $comment->comment_author_email, '55' ); ?>