Conditional pagination li's

时间:2015-11-23 作者:Johann

我注意到Wordpress中的必分页是这样构造的:

  <nav class="post-nav clear clearfix">

    <ul>
      <li class="previous"><?php echo get_next_posts_link( \'Previous\', $the_query->max_num_pages ); ?></li>
      <li class="next"><?php echo get_previous_posts_link( \'Next\' ); ?></li>
    </ul>

  </nav>
无论是上一个链接还是下一个链接,李总在显示。有没有一种方法可以将这个li的内容包装成一个条件,只显示“以前的”或“下一个”帖子是否存在?

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

是的,但它实际上更像是PHP而不是WordPress。您只需重新排序并添加一些逻辑:

$next = get_next_posts_link( \'Previous\', $the_query->max_num_pages );
$previous = get_previous_posts_link( \'Next\' );
if(!empty($next)) {
  $links[] = \'<li class="next">\'.$next.\'</li>\';
}
if(!empty($previous)) {
  $links[] = \'<li class="previous">\'.$previous.\'</li>\';
}
if (!empty($links)) { ?>
  <nav class="post-nav clear clearfix">
    <ul><?php
      echo implode($links); ?>
    </ul>
  </nav><?php
}

相关推荐

Count posts for pagination

我正在为一个网站分页<;上一页(页码)下一页>很简单,已经完成。但是现在我需要添加一个选择器来直接转到页面(例如:转到第7页),要这样做,我需要知道有多少页面,为此我需要计算在查询中找到了多少帖子。问题是这个网站有太多的帖子(>13.000),查询所有帖子都会减慢页面加载速度,这就像。。。10秒后页面才能加载。显然,这是不可接受的。分页解决了这个问题,因为一次只加载50或100篇文章,但我无法将它们全部计算在内。我可以在不加载的情况下统计某个查询中的帖子吗?或者我可以通过其他方式获得页数吗