当只有一页帖子时,不会创建分页

时间:2015-02-02 作者:Ninjakannon

结束循环后,我只需要:

echo paginate_links(array(
    \'mid_size\'           => 3,
    \'prev_text\'          => __( \'Previous posts\' ),
    \'next_text\'          => __( \'Next posts\' )
));
但是,仅当页数大于1时才显示分页。换句话说,如果我有一篇文章,并且在Wordpress仪表板中设置了“设置->阅读->博客页面最多显示一篇文章”,则不会显示分页,如果我添加一篇文章,则会显示分页。如果随后将仪表板设置增加到2,分页将再次消失。

你可能想知道,如果我只有一页,我希望看到什么分页。我希望看到显示的当前页面,即1。没有这个会破坏我的页面布局。

这种行为正常吗?这似乎很奇怪,因为只有一篇文章的新类别的类别页面因此没有分页。

如果这种行为是正常的,我如何确定只有一个页面可以显示,以便我可以在页面中插入当前页面1来修复布局?

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

行为

当要显示的项目少于2页时,删除分页的行为是硬编码和故意的。The paginate_links() Codex entry 该函数的主要用途是显示存档帖子的分页链接的详细信息。档案是物品的集合,可以说单个物品本身并不构成档案。

同时,我理解你的动机——列举单数项乍看起来似乎是一项多余的任务,但它在设计中肯定有其应用。

尽管如此,我必须补充一点,我觉得它向最终用户提供的数据与他们的兴趣几乎没有关联——大多数访问者并不关心他们在第1页(共1页)上。而且,如果一个归档文件只包含一个项目,那么显示分页意味着永远不存在的项目页面将是非常奇怪的。

这种行为可以在the source for the paginate_links() functionline 2628, 其中,如果内容少于2页,函数将提前返回。

我个人的做法是将分页放在<div> 确定高度并维护函数的硬编码行为。以这种方式,分页仍然仅在必要时显示,但它的缺失不会影响布局的其余部分。

如果只有一页时绝对有必要显示页码,Andrei\'s suggestion 使用is_paged() 要有条件地显示分页的另一种方法,就是这样做。

编写一个自定义函数,以您想要的方式输出分页链接

可以创建一种黑客,通过在调用paginate_links(), 然后从函数的返回值或通过paginate_links filterhook—然而,这样做可能比其他解决方案需要更多的时间、精力和代码,并且很可能会被未来的核心更新时间打破。

SO网友:tao

WordPress中博客的默认分页由Older posts &;Newer posts 链接/按钮。

当你在第一页时,你不能/不应该Newer posts, 因为没有。如果存在按钮,则必须禁用或误导按钮。同样适用于Older posts 当你在最后一页时。因此,如果您先打开and 你帖子的最后一页他们应该both 丢失或禁用。

然而,如果出于任何原因必须改变这一点,那么您要寻找的条件是is_paged().

这将是一个典型的显示,使用paginate_links() 根据您的问题:

    if ( is_paged() ) {
        echo paginate_links(array(
           \'mid_size\'           => 3,
           \'prev_text\'          => __( \'Previous posts\' ),
           \'next_text\'          => __( \'Next posts\' )
        ));
    } else {
        echo \'<a href="javascript:history.go(0)">Page 1</a>\';
    }
您必须将链接包装在与分页链接相同的父链接中,并为其提供这些元素的类,同时使其处于活动状态。为此研究分页链接的元素。

结束

相关推荐

Pagination and Related Posts

是否可以对嵌入在single中的以下相关POST代码使用分页。我的主题的php。 <?php // for use in the loop, list 5 post titles related to first tag on current post $tags = wp_get_post_tags($post->ID); if ($tags) { $first_tag = $