显示的WordPress注释的自定义设置

时间:2012-08-24 作者:matt

我在管理中设置了每个帖子显示5条评论,这是我想要的,最新的在顶部。

但问题是,当发表第6条评论时,它是唯一显示的评论,您可以阅读之前的评论,其中将显示5条。

我希望它总是显示5条评论,当第6条被推到下一页时,它是最老的。

谢谢Matt

4 个回复
最合适的回答,由SO网友:matt 整理而成

最终通过以下代码解决了此问题:

<ol class="commentlist">
        <?php $comments = array_reverse($comments, true); ?>
            <?php
                /* Loop through and list the comments. Tell wp_list_comments()
                 * to use twentyten_comment() to format the comments.
                 * If you want to overload this in a child theme then you can
                 * define twentyten_comment() and that will be used instead.
                 * See twentyten_comment() in twentyten/functions.php for more.
                 */
                wp_list_comments( array( \'callback\' => \'twentyten_comment\',\'status\' => \'approve&number=5\',\'order\' => \'asc\' ) );
            ?>
        </ol>

SO网友:Sean Berg

尝试将以下代码添加到您的注释中。php模板文件(您希望在其中显示“下一页”/“上一页”链接):

<?php paginate_comments_links(); ?> 
这将为您的评论启用多个页面。

还有,看看this Codex page (paginate_comments_links) 了解更多信息。希望这有帮助;)

SO网友:daniel.tosaba

get_comments(array(
 \'number\' => 5,
 \'order\' => \'desc\'
))
您必须更改模板文件并修改get_comments() 功能如上所述。

希望这有帮助。

SO网友:mltsy

我相信您想要做的事情(通过从最后一条注释开始向后操作而不是从第一条注释开始向前操作来创建页面来更改注释分页的方式)是由walker控制的,特别是walker\\u Comment类,该类在wp\\U list\\u comments函数中的1490行实例化并在该文件的1492行使用:http://core.trac.wordpress.org/browser/trunk/wp-includes/comment-template.php

您可以扩展自己的扩展walker类,并将其传递给wp\\u list\\u comments(通过修改或编写自定义comments.php模板)。本文简要介绍了如何编写自定义walker:http://bugssite.org/blog/2009/12/08/wordpress-custom-walker-tutorial/

我没有您的自定义walker所需的确切代码,但这应该是正确的方法,至少可以实现您的目标!:)

具体而言,您可能希望用自己的类扩展Walker\\u Comment,以覆盖该类的“paged\\u walk”方法,这是wp\\u list\\u comments中使用的方法:http://core.trac.wordpress.org/browser/trunk/wp-includes/class-wp-walker.php#L260

结束

相关推荐

从Get_Posts()中选择对象

如何从get\\u posts()返回的列表中选择第一个/最后一个对象?如何选择与get\\u posts返回的对象列表中的任意对象相关的前/后对象?如何从get\\u posts()返回的列表中提取子列表?