【问题标题】:Loop through wordpress' the_post_navigation() function循环遍历 wordpress 的 the_post_navigation() 函数
【发布时间】:2016-08-11 15:01:12
【问题描述】:

是否可以循环遍历the_post_navigation()函数?

现在,当我在帖子循环结束时,“下一个帖子”按钮会消失。我希望这个按钮保持不变,并导航到第一篇文章。这样,导航会不断循环浏览帖子。

顺便说一句,这是代码:

<div class="case-nav hidden-xs">
 <?php the_post_navigation( array(
  'prev_text' => __( 'Previous post'),
  'next_text' => __( 'Next post'),
 )); ?>
</div>

编辑

源代码如下: http://www.codesend.com/view/333b7293fcc8994ae7938056cf8c6b1f/

【问题讨论】:

    标签: php wordpress loops


    【解决方案1】:

    这是帖子之间无限循环的较短版本。

    /* Infinite next and previous post looping */
    if( get_adjacent_post(false, '', true) ) { 
        previous_post_link('%link', '&larr; Previous Post');
    } else { 
        $first = new WP_Query('posts_per_page=1&order=DESC'); 
        $first->the_post();
        echo '<a href="' . get_permalink() . '">&larr; Previous Post</a>';
        wp_reset_query();
    }; 
    
    if( get_adjacent_post(false, '', false) ) { 
        next_post_link('%link', 'Next Post &rarr;');
    } else { 
        $last = new WP_Query('posts_per_page=1&order=ASC'); 
        $last->the_post();
        echo '<a href="' . get_permalink() . '">Next Post &rarr;</a>';
        wp_reset_query();
    }; 
    

    【讨论】:

      【解决方案2】:

      好的,我自己用不同的方式解决了这个问题。但结果是一样的!

      <!-- Navigation -->
                          <div class="case-nav hidden-xs">
                              <?php the_post_navigation( array(
                              'prev_text' => __( 'Vorig bericht'),
                              'next_text' => __( 'Volgend bericht'),
                              )); ?>
                          </div>
                          <div class="case-nav visible-xs">
                              <?php the_post_navigation( array(
                              'prev_text' => __( 'Vorige'),
                              'next_text' => __( 'Volgende'),
                              )); ?>
                          </div>
                          <?php
      
                          // Get first post
                          $args = array(
                          'offset'           => 0,
                          'category'         => '',
                          'category_name'    => '',
                          'orderby'          => 'ASC',
                          'order'            => 'DESC',
                          'include'          => '',
                          'exclude'          => '',
                          'meta_key'         => '',
                          'meta_value'       => '',
                          'post_type'        => 'post',
                          'post_mime_type'   => '',
                          'post_parent'      => '',
                          'post_status'      => 'publish',
                          'suppress_filters' => true
                          );
                          $posts_array = get_posts( $args );
                          $firstPost = get_permalink($posts_array[0]->ID);
      
                          //Get latest post
                          wp_list_pages('title_li=&depth=1');
                          query_posts('posts_per_page=1');
                          if(have_posts());
                          while(have_posts()) :
                          the_post();
                              $lastPost = get_permalink();
                          endwhile;
                          wp_reset_query();
                          ?>
      
                          <script type="text/javascript">
                          var itemNext = "<?php echo $firstPost; ?>";
                          var itemPrev = "<?php echo $lastPost; ?>";
                          //      remove nav line if nav item doesn't exist
                                      if(!$('.nav-previous').length){
                                          $('.nav-links').append('<div class="nav-previous"><a href="' + itemNext + '" rel="prev">Vorig bericht</a></div>');
                                      } else if(!$('.nav-next').length){
                                          $('.nav-links').append('<div class="nav-next"><a href="' + itemPrev + '" rel="next">Volgend bericht</a></div>');
                                      } else{}
                          //      -- remove nav line if nav item doesn't exist
                          </script>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-12-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-08-05
        • 2013-12-25
        相关资源
        最近更新 更多