Pages_Links()更改链接的顺序

时间:2015-01-22 作者:Faisal Khurshid

使用时paginate_links() WordPress的功能,我需要改变它的输出顺序。例如,默认情况下,它将以以下格式输出分页链接:

Default Output:

<<PREV 1 2 3  NEXT>>
但我需要以下格式的输出:

Required Output:

1 2 3 <<PREV NEXT>>
现在的问题是,如何根据我的要求更改这些分页链接的顺序?

1 个回复
最合适的回答,由SO网友:Pieter Goosen 整理而成

默认情况下无法执行此操作paginate_links() 功能。查看source code, 没有可以根据需要更改布局的过滤器

备选解决方案

虽然默认情况下无法做到这一点,但这并不意味着您无法获得所需的输出。这里有几个可供探索的选项

选项1为编写包装函数paginate_links() 和设置prev_nextfalse

然后您可以使用get_next_post_link()get_previous_post_link() 要显示下一个和上一个帖子链接文本(<<PREV NEXT>>)

尝试以下内容:(警告:未经测试,可能有问题)

function my_paginate_links() {

    $args = array( //Add arguments as needed
        \'prev_next\'    => false,
    );

    $number_link = paginate_links( $args );

    $previous = get_previous_posts_link( \'<<PREV \' );
    $next = get_next_posts_link( \' NEXT>>\' );

    $link = $number_link . $previous . $next;

    return $link;

}
在模板文件中,只需将其用作

echo my_paginate_links();
选项2如果选项1失败,您可以复制paginate_links() 函数,重命名它,并根据需要修改源代码以获得所需的输出

选项3编写自己的函数以获得所需的输出。要获得一些灵感,请查看this custom function 我最近在这个网站上做了另一个回答。在你认为合适的时候使用和滥用它。

结束

相关推荐

Pre_Get_Posts操作中的多个orderby

我过去能够按2个条件对查询结果进行排序(“先按状态=未售出的ASC,然后按日期描述排序结果”),如下所示:add_action( \'pre_get_posts\', \'my_get_posts\' ); function my_get_posts( $query ) { if (is_admin()){ return; } if (is_post_type_archive(\'objet\')){