如何反转WordPress评论分页

问题描述 投票:0回答:3

我正在想办法如何翻转评论的分页。

i.) 目前,我已将管理设置设置为显示;将评论分成多个页面,每页有 5 顶级评论,并且默认显示第一个页面 评论应与每页顶部的较新评论一起显示

但是,上面的分页显示的是每个页面最新 -> 最旧的评论。例如,第一页将有评论 06/30/2010 -> 06/29/2010 ...第 20 页将显示 11/7/2017 -> 08/7/2017

我的问题是如何翻转分页,以便第 20 页是第 1 页,第 1 页是第 20 页,因为第 1 页比第 20 页旧得多?

我尝试了以下方法,但这只会翻转每个页面上的评论;

function wpb_reverse_comments($comments) {

    return array_reverse($comments);

}   

add_filter ('comments_array', 'wpb_reverse_comments');
php wordpress woocommerce
3个回答
0
投票

这是一个可悲的老问题,显示“旧”评论的“设置>讨论”选项是指每个页面中的评论顺序,而不是评论的一般顺序。

从设置中,唯一的方法是将默认评论页面设置为最后一个。但是像这样,当您看到最后一页时,您的评论通常比“每页评论”设置要少。

我设法解决此问题的唯一工作方法是使用 comments_template_query_args 过滤器

add_filter('comments_template_query_args', function($comment_args) {
    $comment_args['order'] = 'DESC';
    return $comment_args;
});

如本 wordpress 轨道上的评论

所示

0
投票

这才是真正对我有用的

add_action('pre_get_comments', function($query) {
    if ( !is_admin()) {
        $query->query_vars['order'] = 'DESC';
    }
});

拦截

comments_template_query_args
仍然不起作用,因为分页排序很混乱。


-1
投票

其实,你不需要触动反转评论顺序的代码,只需访问WordPress菜单选项:“设置>讨论”,并修改属性:

评论应在每页顶部显示“”评论。

勾选复选框:将评论分成页面,每页包含“20”个顶级评论,默认显示“first”页面。

仅此而已。

© www.soinside.com 2019 - 2024. All rights reserved.