如何确定我是否在分页的第一页?

时间:2011-10-14 作者:Rutwick Gangurde

如何确定我是否在分页的第一页?我正在使用WP\\u pagenvi。我只想在分页的第一页上运行函数。我检查了query\\u var“paged”,在这个页面上设置为0,然后在后面的页面中设置为2、3等等(缺少1!)。。。有人知道干净的解决方案吗?

谢谢

3 个回复
最合适的回答,由SO网友:Scott 整理而成
// get current page we are on. If not set we can assume we are on page 1.
$paged = (get_query_var(\'paged\')) ? get_query_var(\'paged\') : 1;
// are we on page one?
if(1 == $paged) {
    //true
}
SO网友:Michael

如果您只想知道您位于分页页面的第一页,请尝试is_paged():

if ( !is_paged() ) {
  // first page of pagination
}

SO网友:iglvzx

我正在寻找一种简单的方法来确定是否使用posts_nav_link() 我在网上找到的功能和所有解决方案要么太复杂,要么不可靠。例如,许多人建议使用$paged 全局变量,但我发现这个变量在第一个页面返回相同的值,即使第一个页面是唯一的页面!

所以,我深入研究了wp-includes/link-template.php 文件,并发现posts_nav_link() 函数只输出另一个函数的返回值:

/**
 * Display post pages link navigation for previous and next pages.
 *
 * @since 0.71
 *
 * @param string $sep Optional. Separator for posts navigation links.
 * @param string $prelabel Optional. Label for previous pages.
 * @param string $nxtlabel Optional Label for next pages.
 */
function posts_nav_link( $sep = \'\', $prelabel = \'\', $nxtlabel = \'\' ) {
    $args = array_filter( compact(\'sep\', \'prelabel\', \'nxtlabel\') );
    echo get_posts_nav_link($args);
}
利用这些知识,我们可以创建一种简单有效的方法来确定是否需要添加链接以在页面之间导航:

$posts_nav = get_posts_nav_link();
if(empty($posts_nav)) {
    // do not use posts_nav_link()
} else {
    // use posts_nav_link()
}
最初发布在我的博客上here.

结束

相关推荐

Broken category pagination

出于某种原因,下面的代码一直工作到我到达第三页并给出404。不使用任何插件就可以修复它吗?<?php $temp = $wp_query; $wp_query = null; $wp_query = new WP_Query(\'cat=\'. $id .\'&posts_per_page=4&paged=\'.$paged); while ($wp_query->have_posts()) : $wp_query