Intereting Posts
Страница не найдена для пользовательского плагина и таксономии пользовательского типа post WordPress 3.5: настройка пользовательского «полного URL-пути к файлам» в медиа-библиотеке? Добавление нескольких боковых панелей Как настроить nginx для перенаправления запросов в каталог uploads на рабочий сервер? Как установить или переопределить шрифт Fallback для символов второго языка? Использование глобальной $ post; с пользовательскими типами сообщений Получите все пользовательские типы сообщений, за исключением некоторых … Как удалить аватар группы друзей из сообщения потока активности? почему код javascript, а не повторять основной текст wordpress Учитывая несколько учетных записей администратора, как я могу сделать так, чтобы только администратор с X-именем пользователя мог редактировать сообщения Удаление всех статусов сообщений из пользовательского типа сообщения Проверка формата сообщения во время xmlrpc_publish_post Как лучше всего применять do_shortcode в media.php для титров Как настроить таблицу списков для персонализированного типа сообщения? Интерфейс виджета не может откликнуться, как ожидается, из флажка

max_num_pages говорит 4, но я могу только перейти на третью страницу

Текущий запрос:

if ( get_query_var('paged') ) { $paged = get_query_var('paged'); } else if ( get_query_var('page') ) {$paged = get_query_var('page'); } else {$paged = 1; } $args_main = array( 'cat' => $my_categories_variable, 'posts_per_page' => 3, 'paged' => $paged ); $main_posts_query = new WP_Query($args_main); while($main_posts_query->have_posts()) : $main_posts_query->the_post(); 

Проблема: эхо echo $main_posts_query->max_num_pages; дает мне 4 , но я могу только перемещаться (через get_next_posts_link() ) на www.mywebsite.com/page/ 3 /.

Я что-то упускаю? Пожалуйста, дайте мне знать, если вам нужна дополнительная информация.

Спасибо!

Вы назначаете три разных значения вашей переменной:

 if ( get_query_var('paged') ) { $paged = get_query_var('paged'); } else if ( get_query_var('page') ) { $paged = get_query_var('page'); } else { $paged = 1; } 

Краткое объяснение:

  1. На single.php , single.php и других отдельных шаблонах просмотров: (int) $page Является ли страница сообщения, как указано в странице запроса var: get_query_var( 'page' );
  2. На всех типах archive.php и подобных архивах / типах типа списка типов: (int) $paged Является ли глобальная переменная номером страницы списка сообщений (как в архивах).

Core использует много (слегка запутывающих) глобальных переменных (так что не вините себя).

Я использовал следующий код (который в основном такой же, как у вас), но он не работал для меня при использовании WP_Query ($ args).

 if (get_query_var ('page')> 1) { 
     $ paged = get_query_var ('page'); 
 } elseif (get_query_var ('paged')> 1) { 
     $ paged = get_query_var ('paged'); 
 } else { 
     $ paged = 1; 
 }

Хотя это не рекомендуется, разбиение на страницы начало работать для меня, когда я изменил WP_Query ($ args) на query_posts ($ args), а затем скорректировал The Loop соответственно.

 if (get_query_var ('paged')) {$ paged = get_query_var ('paged');  } else if (get_query_var ('page')) {$ paged = get_query_var ('page');  } else {$ paged = 1;  }

 $ args_main = array (
     'cat' => $ my_categories_variable,
     'posts_per_page' => 3,
     «paged» => $ paged
 );

 query_posts ($ args_main);
 while (has_posts ()): the_post ();

ПРИМЕЧАНИЕ. Как заметил Кайзер в своем комментарии ниже query_posts (), можно повредить вещи. По крайней мере сбросить запрос после The Loop.

 wp_reset_query ();