2017年02月22日   WordPress, 码农之路   2,925 次浏览

我们可以看到很多WordPress主题的评论都是按日期排列的,那么最新的评论就被显示到最下方去了,这样非常的不友好,那么怎样将WordPress评论按日期倒序排列呢?

首先,我们需要了解一点,其实WordPress后台已经提供了设置评论排序的方式。进入后台“设置->讨论”菜单,有个“在每个页面顶部显示新的/旧的评论”选项,这个选项就是用来设置评论显示顺序的。

其次,需要当前所使用的主题支持,一般可以通过下面这几种方法让主题支持评论排序(打开评论相关代码所在的文件comments.php):

1、如果你使用了wp_list_comments函数,类似如下的代码,则表示当前主题已经支持评论倒序了:

	wp_list_comments( array(
		'style'      => 'ol',
		'short_ping' => true,
		'avatar_size'=> 34
	) );

2、如果你是自定义评论的样式,有类似如下的代码:

	foreach ($comments as $comment) {
		// 对每条评论进行处理
	}

此时修改后台的设置是没有效果的,需要我们写代码来改变成评论的顺序,通过查找wp_list_comments函数的源代码我们可以发现以下代码:

	// Ordering of the listed comments. Default null. Accepts 'desc', 'asc'.
	if ( null === $r['reverse_top_level'] )
		$r['reverse_top_level'] = ( 'desc' == get_option('comment_order') );

对,没错,我们可以通过get_option(‘comment_order’);得到后台的评论排序的配置。最后,我们可用最简单的方法实现评论倒序,如下:

	// 在使用comments变量之前加入以下if语句
	if ( 'desc' == get_option('comment_order') ) {
		$comments = array_reverse($comments);
	}
	foreach ($comments as $comment) {
		// 对每条评论进行处理
	}

好了,大概就是这样了,知其然亦知其所以然。

赞 赏
申明:除非注明,本站文章均为原创,转载请以链接形式标明本文地址。 如有问题,请于一周内与本站联系,本站将在第一时间对相关内容进行处理。
本文地址: http://www.yyjjssnn.cn/articles/753.html

>>> Hello World <<<

这篇内容是否帮助到你了呢?

如果你有任何疑问或有建议留给其他朋友,都可以给我留言。

:wink: :twisted: :surprised: :smile: :smile9: :smile8: :smile7: :smile6: :smile5: :smile56: :smile55: :smile54: :smile53: :smile52: :smile51: :smile50: :smile4: :smile49: :smile48: :smile47: :smile46: :smile45: :smile44: :smile43: :smile42: :smile41: :smile40: :smile3: :smile39: :smile38: :smile37: :smile36: :smile35: :smile34: :smile33: :smile32: :smile31: :smile30: :smile2: :smile29: :smile28: :smile27: :smile26: :smile25: :smile24: :smile23: :smile22: :smile21: :smile20: :smile1: :smile19: :smile18: :smile17: :smile16: :smile15: :smile14: :smile13: :smile12: :smile11: :smile10: :smile0: :sad: :rolleyes1: :redface: :razz: :question: :neutral: :mrgreen: :mad: :lol: :idea: :exclaim: :evil: :eek: :cry: :cool: :confused: :biggrin: :arrow:

友情链接: 程序员刘杨 刘杨
Copyright 2003~2018 保留所有权利 | 网站地图
备案号:湘ICP备14001005号-2

湘公网安备 43011102001322号