WordPress如何知道分页是否激活?

3

Wordpress有没有类似的功能或者什么东西?我需要一种方法来检查是否有任何页面链接(旧文章 | 新文章)需要显示。

最好的问候,


也许你应该在superuser.com上问这个问题。 - Graviton
1
这是关于将WordPress插件化的问题。在Stack Overflow上看起来很不错。 - Damien MATHIEU
4
已经在Superuser上提问 - http://superuser.com/questions/57266/wordpress-how-can-i-know-if-the-pagination-is-active - ChrisF
“any page links (Older Entries | Newer Entries)”是什么意思?它是关于帖子还是页面(页面有子页面,可以以分页形式显示)?还是一般的分页? - justjoe
3个回答

10

如果你查看new_posts_link函数,你会看到$max_page和$paged变量。

如果$pages大于1,则会有一个上一页链接。
如果它小于$max_page,则会有一个下一页链接。

因此,您可以执行以下功能:

# Will return true if there is a next page
function has_next_page() {
    global $paged, $max_page;
    return $paged < $max_page;
}

# Will return true if there is a previous page
function has_previous_page() {
    global $paged;
    return $paged > 1;
}

# Will return true if there is more than one page (either before or after).
function has_pagination() {
    return has_next_page() or has_previous_page();
}

如果不是它们中的任何一个呢?我需要像这样的东西:if($verification !== false){ //显示分页div... - Uffo
如果它不是它们中的任何一个,那么您就在第一页,没有任何分页可供显示。如果您想要一个可以给您真或假的函数,您可以使用这两个变量编写它。 - Damien MATHIEU
1
函数has_next_page()在WP3.03上似乎无法工作,因为$max_page没有任何值。而has_previous_page()却可以正常工作。 - Marcus

2

正如Marcus所说,函数has_next_page()在较新的wp版本中不起作用,因此您可以在if语句中简单地使用get_previous_posts_link()get_next_posts_link()


-1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接