根据Codex,$REVERSE_TOP_LEVEL的工作方式与之相反?

时间:2013-10-18 作者:Radek

食品法典wp_list_comments 各州$reverse_top_level (boolean) (optional) Setting this to true will display the most recent comment first then going back in order.

对我来说,这实际上是相反的方式。false 选项将最新注释显示为第一条注释,并且true 选项,或者如果根本没有使用该选项,则将是最后一个选项。如果使用或未使用注释分页,则同样适用。

类似行为适用于reverse_children 选项如果false 或者根本不用最新的孩子是第一个。

在交钥匙上与WordPress 3.6.1一起使用的代码

    $comments =     get_comments(array(
        \'number\' => $get_comments_number_approved,
//          \'offset\' => 10,
        \'post_id\' => $post_id,
        \'status\' => \'approve\' ,
        \'orderby\' => \'comment_date_gmt\',
        \'order\' => \'DESC\'
    ));

        wp_list_comments(array(
            \'reverse_top_level\' => false, //Show the latest comments at the top of the list
            \'reverse_children\' => false,
            \'page\' => $page_number,
            \'per_page\' => $comments_per_page,
//              \'avatar_size\'   => 16,
        ), $comments);
我是否遗漏了什么,或者是一个bug或是需要更新的抄本?

1 个回复
SO网友:kaiser

的默认值reverse_top_levelnull. 现在让我们看看the function source:

if ( null === $r[\'reverse_top_level\'] )
    $r[\'reverse_top_level\'] = ( \'desc\' == get_option(\'comment_order\') );
如您所见,它从comment_order 选项那就是descasc. 如果值为desc, 然后将其设置为true. 现在Walker_Comment, 哪一个extends Walker, 检索已解析的参数$r 作为的最后一个参数paged_walk(). 这个方法是Walker 班让我们看看它source. 和there we can see 以下内容:

if ( ! empty( $args[0][\'reverse_top_level\'] ) )
    $elements = array_reverse( $elements );
    // does other stuff here
作为empty 评估false 等于null! isset, 这部分不会触发。就是这样。

结束