eleven 在《永安仙居皤滩乡》上评论说:“你的游记,我也不知道应该从哪里有序地看,往往跳跃似的点开相关,有时半工作状态,一篇能看半天时间,过后就不知道在哪一处留言过了……”
感觉站点有不能让读者清晰了解结构的问题,除了在每篇文后评论框前做了个函数把每篇的 “前文后记” 链接补进去、继续用 comment-reply-notification 插件作留言电邮通知、小工具栏近期留言工具等外,想到再做一个近期留言页面方便留言者查看。
网上找了一圈,找到《WordPress 创建显示所有评论的页面》文,再根据自己的需求,调整了样式,并且加入了只显示前一年留言的函数。
1、在当前主题目录下复制 page.php,重命名为 page-comment.php;
2、删除 page-comment.php 开头的注释,改为/*Template Name: All comments*/ ;
3、将 the_content(); 删掉,添加代码:
<?php //WordPress 创建显示所有评论的页面 $comments = get_comments('$status=approve'); $month = date('Y-m'); //只显示一年内的留言 $last = date('Y')-1; $start = $last.'-'.date('m'); foreach($comments as $comm) { $comments_month = date('Y-m', strtotime($comm->comment_date)); $comments_year = date('Y', strtotime($comm->comment_date)); if ($comments_month < $start) break; if ($comments_month != $month) echo '<h2>' . $comments_month . '</h2><p>'; $link= esc_url( get_comment_link($comm->comment_ID) ); $title=get_the_title($comm->comment_post_ID); echo '<li style="word-wrap:break-word;overflow:hidden;"><a href="'. $comm->comment_author_url .'" rel="nofollow">' . $comm->comment_author . '</a> 在<a href="'.$link.'">'.$title .'</a> 上的评论:' . $comm->comment_content . ' (' . $comm->comment_date . ')</li> '; //if ($comments_year < date('Y')) //还没实现根据年份翻页,求更好的方法 $month = date('Y-m', strtotime($comm->comment_date)); } ?>
4、进入 WordPress 管理后台-页面-创建页面 “留言”,页面属性中选 “All comments”。
5、效果见 “评说” 页面。
最后有个遗憾,没找到根据年份分页的好办法,试了 wp_link_pages 也没用,不知谁有好的方法?
2014/12/17
要解决第一个问题,用这个《AJAX 版 “您最近的评论”》更好吧。http://zww.me/ajax-guest-comments.z-turn
@大肥羊 不错,收藏了
@Yang 果然加上了 🙂 🙂
@大肥羊 好用 😆 根据自己的审美简化了 CSS