如何确定是否有下一页

时间:2011-02-12 作者:Jiew Meng

我是wordpress开发的新手,只是想把我的HTML转换成wordpress主题,我从ChrisCoyer的空白主题开始。

<div class="navigation">
    <div class="next-posts">
        <?php next_posts_link(\'&laquo; Older Entries\') ?>
    </div>
    <div class="prev-posts">
        <?php previous_posts_link(\'Newer Entries &raquo;\') ?>
    </div>
</div>
只有存在next_posts_link(). 我需要这个,因为我将使用<ul> 用于我的分页。如果我不这样做,我会得到一颗空子弹

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

你可以用get_previous_posts_linkget_next_posts_link要确定它们是否存在,请执行以下操作:

$prev_link = get_previous_posts_link(__(\'&laquo; Older Entries\'));
$next_link = get_next_posts_link(__(\'Newer Entries &raquo;\'));
// as suggested in comments
if ($prev_link || $next_link) {
  echo \'<ul class="navigation">\';
  if ($prev_link){
    echo \'<li>\'.$prev_link .\'</li>\';
  }
  if ($next_link){
    echo \'<li>\'.$next_link .\'</li>\';
  }
  echo \'</ul>\';
}
希望这有帮助

SO网友:Eric Martin

我不久前写了这篇文章,但应该仍然有效:

http://www.ericmmartin.com/conditional-pagepost-navigation-links-in-wordpress-redux/

您可以将以下函数添加到functions.php 文件:

/**
 * If more than one page exists, return TRUE.
 */
function show_posts_nav() {
    global $wp_query;
    return ($wp_query->max_num_pages > 1);
}
将代码更新为:

<?php if (show_posts_nav()) : ?>
<div class="navigation">
    <div class="next-posts"><?php next_posts_link(\'&laquo; Older Entries\') ?></div>
    <div class="prev-posts"><?php previous_posts_link(\'Newer Entries &raquo;\') ?></div>
</div>
<?php endif; ?>

SO网友:Maxwell s.c

最好的解决方案是检查$wp_query->max_num_pages, 但您也可以使用:

<?php
if(paginate_links()) {
...
}

结束

相关推荐

Pagination with custom loop

我的问题可能是Pagination not working with custom loop, 但有一种不同。我使用自定义循环来显示flash游戏。我想按类别在游戏页面上分页。类别php:<?php if ($cat) { $cols = 2; $rows = 4; $paged = ((\'paged\')) ? get_query_var(\'paged\') : 1; $post_per_page = $cols * $rows; // -1 s