【问题标题】:Wordpress pagination navigation: how do I make 'Next Page' and 'Previous Page' persist?Wordpress 分页导航:如何使“下一页”和“上一页”保持不变?
【发布时间】:2017-01-27 06:10:28
【问题描述】:

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

这里是不同状态的菜单:



我知道在第一页/最后一页上不显示“上一页”/“下一页”按钮是该 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 } ?>

【问题讨论】:

    标签: php html wordpress pagination


    【解决方案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 } ?>
    

    【讨论】:

      【解决方案2】:

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

      <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>
      

      【讨论】:

      • 我无法让它工作,但无论如何感谢您的帮助...您让我走上了正确的轨道。我会用工作代码回答这个问题...
      • 我猜这个函数返回了一个数组什么的。对不起,我不太擅长wordpress功能
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-05-22
      • 1970-01-01
      • 1970-01-01
      • 2012-09-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多