get_query_var( 'paged' ) не работает за пределами главной страницы
Тема Twenty Eleven...
На главной странице я успешно отфильтровал цикл для отображения только "Избранных" записей с правильно работающей пагинацией через навигационные ссылки. Я пытаюсь отобразить записи из всех категорий на другой странице под названием "Нефильтрованные". Почему навигационные ссылки исчезают при использовании на этой другой странице?
редактировать: если я изменяю значение 'paged' на '1' или '2', я получаю 10 записей, которые ожидаю увидеть, поэтому 'paged', похоже, работает в зависимости от установленного значения, но не работает, когда я устанавливаю его как get_query_var( 'paged' )
<?php /* $paged = ( get_query_var('page') ) ? get_query_var('page') : 1; */
$unfiltered_query = new WP_Query (
array (
'posts_per_page' => 10,
'paged' => get_query_var( 'paged' )
)
);?>
<?php if ( $unfiltered_query->have_posts() ) : ?>
<?php twentyeleven_content_nav( 'nav-above' ); ?>
<?php /* Начало цикла */ ?>
<?php while ( $unfiltered_query->have_posts() ) : $unfiltered_query->the_post(); ?>
<?php get_template_part( 'excerpt', get_post_format() ); ?>
<?php endwhile; ?>
<?php twentyeleven_content_nav( 'nav-below' ); ?>
Тоже пробовал это. Навигация по контенту всё ещё отсутствует. Даже пробовал добавлять wp_reset_query();
И на случай, если возникнут вопросы, я использую $home_query на главной странице.

Я пытаюсь найти разницу между параметрами paged
и page
. Не могли бы вы предоставить мне ссылки на какие-либо ресурсы?

@RohitPande - посмотрите WP_Query
параметры пагинации. Думаю, оба на самом деле работают в большинстве случаев.

twentyeleven_content_nav()
использует основной объект запроса $wp_query
. Вам нужно будет использовать переменную $wp_query
вместо $unfiltered_query
, затем wp_reset_query()
для восстановления оригинального $wp_query
(который он найдёт в $wp_the_query
, с чем вам, вероятно, не стоит работать напрямую).
Пока вы аккуратно восстанавливаете исходный запрос, всё в порядке.
Я бы предложил патч для ядра, который позволит функции twentyeleven_content_nav()
опционально принимать объект запроса для выполнения своих вычислений.

Что если заменить get_query_var( 'paged' )
на глобальную переменную $paged
? Например, заменить это:
$unfiltered_query = new WP_Query (
array (
'posts_per_page' => 10,
'paged' => get_query_var( 'paged' )
)
...на это:
global $paged;
$unfiltered_query = new WP_Query (
array (
'posts_per_page' => 10,
'paged' => $paged
)
РЕДАКТИРОВАНИЕ
Ладно, видимо, это не сработает. Глобальная переменная $paged
, по-видимому, не устанавливается до выполнения запроса.
