我们都知道,WordPress 默认自带了文章(post)、页面(page)等文章类型,然后从 3.0 开始就支持自定义文章类型。比如WordPress大学目前所使用的问答功能,其实就是使用自定义文章类型的。在这个 DW Question & Answer 问答插件中,它注册了“dwqa-question”和“dwqa-answer”两种文章类型,并且为它们添加了评论功能,这样就可以对问题和回答进行评论。
而文章和页面也有评论功能,在实际使用中,倡萌在 设置 – 讨论 中设置评论分页,并且在页面顶部显示新的评论:
由于这个是全局设置,导致问答页面的评论也在顶部显示新的评论,这样看起来就有些怪怪的:
我希望专门针对问答页面实现页面顶部显示老的评论,如下,这样看起来就好些了:
倡萌查阅了一下官方文档,发现有一个 comments_array 钩子,可以用来排序评论,同时借用php函数 array_reverse() 就可以将评论倒序,从而达到所需效果。
/**
* 让问答的评论和文章的评论排序颠倒
* https://www.wpdaxue.com/wordpress-reverse-comments.html
*/
function wpdx_reverse_comments($comments) {
global $post;
if($post->post_type == 'dwqa-question' || $post->post_type == 'dwqa-answer' ){
//如果是 dwqa-question 或 dwqa-answer 这两个文章类型的评论就颠倒排序
return array_reverse($comments);
}else{
//否则正常排序
return $comments;
}
}
add_filter ('comments_array', 'wpdx_reverse_comments');
以上就是具体例子,大家参考一下即可。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
Google搜索进来的,谢谢分享。
怎么配合wp_list_comment使用呀?
看到这篇文章去百度了一下 comments_array,第一篇文章竟然就是这篇 😯 😯
百度通常都搜索不出太多纯英文的结果
最近墙太高,连梯子都用不了,Google打不开……
“缙哥哥的博客”里专门有方法直接使用谷歌的,你去看看吧