Wordpress分页导航:如何使“下一页”和“上一页”保持不变?

时间:2016-09-19 14:02:15

标签: php html wordpress pagination

我为Wordpress制作了一个简单的“帖子页面”导航,我无法找到改变next_posts_link()previous_posts_link()行为的方法,以便按钮始终可见,无论什么页面正在显示。

以下是处于不同状态的菜单:

Page 1 of 3

Page 2 of 3

Page 3 of 3

据我所知,在第一页/最后一页上没有显示“上一页”/“下一页”按钮是这个Wordpress函数的预期,但是我需要覆盖这种行为,因此灰显的上一页/下一页文本分别显示在第一页/最后一页。

我将非常感谢您如何实现这一目标。谢谢

以下是代码:

<?php
function pagination_nav() {
  global $wp_query;

  $total_pages = $wp_query->max_num_pages;
  $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;

  ?>

  <nav class="pagination" role="navigation">
    <div class="nav-previous">&larr; <?php previous_posts_link( 'Previous Page ' ); ?></div>
    <div class="nav-position">Page <?php echo $paged ?> of <?php echo $total_pages ?></div>
    <div class="nav-next"><?php next_posts_link( 'Next Page' ); ?> &rarr;</div>
  </nav>

<?php } ?>

2 个答案:

答案 0 :(得分:1)

工作解决方案(但可能更好!):

<?php
  function pagination_nav() {
    global $wp_query;

    $total_pages = $wp_query->max_num_pages;
    $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
?>

<nav class="pagination" role="navigation">
  <div class="nav-previous">

    <?php

      if ($paged == 1) {
        echo '<div class="nav-previous-empty">Previous Page</div>';
      } else {
        previous_posts_link( 'Previous Page' );
      }

    ?>

  </div>
  <div class="nav-position">Page <?php echo $paged ?> of <?php echo $total_pages ?></div>
  <div class="nav-next">

    <?php

      if ($paged == $total_pages) {
        echo '<div class="nav-next-empty">Next Page</div>';
      } else {
        next_posts_link( 'Next Page' );
      }

    ?>
  </div>
</nav>
<?php } ?>

答案 1 :(得分:0)

我认为你可以做这样的事情:

<nav class="pagination" role="navigation">
    <?php $prev_link = previous_posts_link('Previous Page');
         if (!empty($prev_link)) {
        print __('<div class="nav-previous>&larr;' . $prev_link . '</div>', 'domainname');
        }
    ?>
    <div class="nav-position">Page <?php echo $paged ?> of <?php echo $total_pages ?></div>
    <?php $next_link = previous_posts_link('Next Page');
         if (!empty($next_link)) {
        print __('<div class="nav-next>&larr;' . $next_link . '</div>', 'domainname');
        }
    ?>
  </nav>