2017-01-22 5 views
0

Может ли кто-нибудь объяснить мне, почему моя разбивка на страницы не работает?
Пожалуйста, посмотрите на код нижеPagination не работает, если в WordPress установлено смещение

<?php 

$args = array(
    'post_type' => 'post', 
    'offset' => '1', 
    'page' => $page, 
    'paged' => (get_query_var('paged') ? get_query_var('paged') : 1), 
); 

query_posts($args); 
$i = 1; 
if (have_posts()) : 
    while (have_posts()) : the_post(); 

?> 

Когда я комментирую или удалить 'offset' => '1' нумерации страниц работы.
Есть ли альтернативный способ смещения?

Любая помощь будет оценена по достоинству.
Спасибо.

+0

Вы можете включить функцию query_posts, а также иметь сообщения. Просто из массива очень сложно сказать, что происходит – nikoss

+0

Хорошо, что это функции WordPress, вы можете увидеть их в следующих ссылках: query_post (https: // разработчик .wordpress.org/reference/functions/query_posts /) has_posts (https://developer.wordpress.org/reference/functions/have_posts/) – Barlet

+0

https://developer.wordpress.org/reference/classes/wp_query/ Прочтите это, он описывает подпись параметра '$ args' в вашем случае – nikoss

ответ

0

This статья объясняет, как использовать значение WordPress offset в ваших запросах, не нарушая встроенную разбивку на страницы WordPress.

Вам нужно будет написать дополнительный код для ручного разбиения на страницы; вам нужно определить, имеет ли цикл дополнительные страницы, а затем динамически вычисляет соответствующее смещение для текущей страницы.

Вы будете использовать крюк pre_get_posts, встроенный в WordPress. См. Codex.

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