2013-09-18 3 views
0

У меня проблема с страницей категории в wordpress, я хочу отобразить разбивку на страницы, и я использовал метод, который работает в других шаблонах, которые я разработал в прошлом.Проблема с разбиением на страницы категории wordpress

я получаю идентификатор категории

$category = get_category(get_query_var('cat')); 
$cat_id = $category->cat_ID; 

Объявите PAGINATION

$page = (get_query_var('paged')) ? get_query_var('paged') : 1; 

    $wpquery = new WP_Query(array(
     'order' => 'DESC', 
     'cat' => $cat_id, 
     'posts_per_page' => 4, 
     'paged'=>$page 
    )); 

И после моей Петли я показываю пагинацию

global $wpquery; 
    if($wpquery->max_num_pages >1){ 
     $big = 999999999; // need an unlikely integer 

     echo paginate_links(array(
    'base' => str_replace($big, '%#%', esc_url(get_pagenum_link($big))), 
    'format' => '?paged=%#%', 
    'current' => max(1, get_query_var('paged')), 
    'total' => $wpquery->max_num_pages 
     )); 
    } 

Если вы попытаетесь пойти сюда

http://192.185.20.70/~t1t/tobeus.it/category/press/ 

вы можете увидеть, что первая & второй страницы работает, третий показывает 404 ...

в других категориях, как «событие»

http://192.185.20.70/~t1t/tobeus.it/category/events/ 

только первая страница работает ...

Я не могу решить эту странную проблему!

ответ

0

У меня также была проблема с разбиением на страницы в шаблоне категории. Попробуйте изменить параметр 'format' 'paged' функции paginate_links на любой другой.

Пример:

Установить другое имя параметра, например, 'newparam'

echo paginate_links(array(
... 
'format' => '?newparam=%#%', 

Тогда получить его из URL

$page = (get_query_var('newparam')) ? get_query_var('newparam') : 1; 

Также не забудьте объявить 'newparam' в функции function.php 'add_query_vars_filter'.

Другие решения не сработали для меня, но это было сделано. Я не могу точно объяснить, почему, но может быть, что параметр «paged» используется где-то, когда загружается вторая страница или что-то в этом роде.

В этом примере вы просто используете другое имя переменной для передачи номера страницы, другая страница постраничной страницы загрузится, вы снова присвоите этому значению «paged», чтобы он загружал правильные данные из базы данных.

+0

после того, как я нашел решение! [ссылка] (http://wordpress.stackexchange.com/questions/104294/paginate-links-outputs-extra-empty-pages-on-custom-loop) – T1T

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