2016-01-13 3 views
0

Я нашел эту пользовательскую ссылку на WordPage где-то и попытался ее использовать. Функция разбиения на страницы и «просмотр всех» работает нормально, но проблема заключается в «следующей» и «предыдущей» функции. При нажатии «следующей кнопки» он переходит к последней странице. Не могли бы вы помочь мне отладить этот код? Я не очень хорошо знаком с 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

Спасибо, Пракаш! Это решило мою проблему. Я не уверен, как «+ rep» вы. Спасибо огромное! –

+0

Спасибо, приятель, ты уже сделал, приняв мой ответ :) –

Смежные вопросы