WordPress创建显示所有评论的页面

应网友hongwang777的请求,他需要一个显示他的WordPress博客所有文章评论的页面,同时又想按照月…

应网友hongwang777的请求,他需要一个显示他的WordPress博客所有文章评论的页面,同时又想按照月份来显示。我翻阅了一下WordPress的文档,发现函数 get_comments()恰好可以解决这个问题,下面具体实现方法。

实现方法:

1、在当前主题目录下新建一个php文件,命名为commets-page.php,然后将page.php中的所有代码复制到commets-page.php中

2、删除commets-page.php开头的所有注释,即 /* 与 */ ,以及它们之间的所有内容

3、将第一个 <?php 改成

<?php
/*
Template Name: All comments
*/

4、将 the_content(); 改成以下代码:

/**
 * 名称: WordPress创建显示所有评论的页面
 * 作者:露兜
 * 博客:https://www.ludou.org/
 * 最后修改:2010年08月24日
 */

$comments = get_comments('$status=approve');
$start = '2010-05'; // 起始月份
$month = '2010-01';

foreach($comments as $comm) 
{
	$comments_month = date('Y-m', strtotime($comm->comment_date));

	if ($comments_month < $start) 
		break;

	if ($comments_month != $month)
		echo '<strong>' . $comments_month . '</strong><br />';
    
	echo '<a href="'. $comm->comment_author_url  .'" rel="nofollow">' . $comm->comment_author . '</a>: ' . $comm->comment_content . '   (' . $comm->comment_date . ') <br />';
	$month = date('Y-m', strtotime($comm->comment_date));
}

5、可能你的博客有上万条评论,但是全部显示可能比较麻烦,你可以将以上代码中的 $start = '2010-05'; // 起始月份 ,2010-05改成起始月份,则只显示2010-05之后发表的评论;如果你不想访客在这个页面中发布评论,可以将commets-page.php中类似代码 comments_template(.....); 删除, ….. 代表未知字符

6、进入WordPress管理后台 – 页面 – 创建页面,标题为所有评论(可以自己起名),内容不要填,右侧可以选择模板,选择 All comments 即可

7、评论列表页创建成功!

— 完 —

类别:WordPress开发

本文收集自互联网,转载请注明来源。
如有侵权,请联系 wper_net@163.com 删除。

评论 (0)COMMENT