2016-01-13 82 views
0

我发现这个自定义wordpress分页的地方,并尝试使用它。分页和“查看所有”功能工作正常,但问题是与“下一个”和“前一个”功能。当点击“下一个按钮”时,跳到最后一页。你能帮我调试这个代码吗?我对PHP并不熟悉,实际上我第一次整合到WordPress。谢谢!WordPress的自定义分页“下一页”不工作

function numeric_pagination ($pageCount = 9, $query = null) { 
     if ($query == null) { 
      global $wp_query; 
      $query = $wp_query; 
     } 
     if ($query->max_num_pages <= 1) { 
      return; 
     } 
     $pageStart = 1; 
     $paged = $query->query_vars['paged']; 
     // set current page if on the first page 
     if ($paged == null) { 
      $paged = 1; 
     } 
     // work out if page start is halfway through the current visible pages and if so move it accordingly 
     if ($paged > floor($pageCount/2)) { 
      $pageStart = $paged - floor($pageCount/2); 
     } 
     if ($pageStart < 1) { 
      $pageStart = 1; 
     } 
     // make sure page start is 
     if ($pageStart + $pageCount > $query->max_num_pages) { 
      $pageCount = $query->max_num_pages - $pageStart; 
     } 
    ?> 

    <div id="pagination"> 
     <?php 
     if ($paged != 1) { 
     ?> 

     <a href="<?php echo get_pagenum_link(1); ?>" class="numbered page-number-first"><span>&lsaquo;&lsaquo; <?php _e('Previous Page', 'rhinoplasty'); ?></span></a> 

     <?php 
     } 
     if ($pageStart > 1) { 
      //echo 'previous'; 
     } 
     for ($p = $pageStart; $p <= $pageStart + $pageCount; $p ++) { 
      if ($p == $paged) { 
     ?> 

     <span class="numbered page-number-<?php echo $p; ?> current-numeric-page"><?php echo $p; ?></span> 

     <?php } else { ?> 

     <a href="<?php echo get_pagenum_link($p); ?>" class="numbered page-number-<?php echo $p; ?>"><span><?php echo $p; ?></span></a> 

     <?php 
      } 
     } 
     if ($pageStart + $pageCount < $query->max_num_pages) { 
      //echo "last"; 
     } 
     if ($paged != $query->max_num_pages) { 
     ?> 

     <a href="<?php echo get_pagenum_link($query->max_num_pages); ?>" class="numbered page-number-last"><span><?php _e('Next Page', 'rhinoplasty'); ?> &rsaquo;&rsaquo;</span></a> 
     <?php } ?> 
     <?php if(!$_GET['viewall']){ ?> 
     <a href="<?php echo add_query_arg(array('viewall' => "true"), get_pagenum_link(1)); ?>">View All</a> 
     <?php } ?> 
    </div> 

    <?php 
    } 
    if (isset($_GET['viewall'])) 
    { 
     function view_allposts($query) { 
      $query->set('posts_per_page', -1); 
     } 
     add_action('pre_get_posts', 'view_allposts'); 
    } 

回答

1

尝试改变线在代码:

<a href="<?php echo get_pagenum_link($paged+1); ?>" class="numbered page-number-last"><span><?php _e('Next Page', 'rhinoplasty'); ?> &rsaquo;&rsaquo;</span></a> 
+0

谢谢普拉卡什!我需要我的页面的“查看全部”功能。纠正我,如果我错了,但它似乎没有提供该功能。我非常感谢你的帮助。 –

+0

谢谢普拉卡什!这解决了我的问题。我不知道如何“+代表”你。非常感谢! –

+0

感谢哥们..你已经接受了我的回答:) –