Intereting Posts
Запрос фильтра на основе даты в пользовательском поле Навигация и Постоянная ссылка не получается правильно Получение списка настраиваемого типа сообщений в виджетах без использования WP_Query? add_theme_page to add_menu_page параметры темы convert Обновить значение настраиваемого поля Как избежать бесконечного цикла в обратном вызове save_post Переместить заголовок архива в заголовок записи – Бытие Использование WP_List_Table и search_box (): как разбивать найденные результаты поиска при отправке методом «Почта»? Выход wp_link_pages появляется дважды Как получить сообщения, где изображение больше, чем …? Как получить идентификатор сообщения типа post из пули? Получить данные из плагина Список людей в шаблоне автора Уведомление о комментариях не работает Работа полей meta_value meta_key в таблицах базы данных Функция WP_mail () не отправляет электронную почту в режиме Ajax

Я официально пропустил что-то о временных сообщениях

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

$queried_post = array( 'post_type' => 'post', 'paged' => get_query_var( 'paged' ) ); 

Что тогда:

 $query = new WP_Query($queried_post); 

и хранится:

 set_transient('posts', $query, 60); // For testing purposes, we reset every 60 seconds. 

Итак, я делаю:

  gloabl $wp_query; $original = $wp_query; // Obviously you would do checks to see if the transient // exists. But lets assume it always exists. $wp_query = get_transient('posts'); if($wp_query->have_posts()){ while ($wp_query->have_posts()) { $wp_query->the_post(); // display content ... } var_dump($wp_query->max_num_pages); // Shows me: float 4 echo get_next_posts_link( __( 'Next', 'textdomain'), $wp_query->max_num_pages ); echo get_previous_posts_link( __( 'Previous', 'textdomain'), $wp_query->max_num_pages ); } $wp_query = $original; 

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

Зачем? Я не могу понять. Может кто-нибудь мне скажет?

Скажем, у вас 10 страниц сообщений, 10 сообщений на странице. Когда вы загружаете первую страницу, а переходный процесс еще не существует, ваш запрос загружает первую страницу (10 сообщений), и вы помещаете ее в переходный режим.

Теперь перейдите на страницу 2 и проверьте, существует ли переход. (вы устанавливаете его на стр. 1), поэтому вы загружаете это вместо запуска нового запроса. Кроме того, ваш переходный период по-прежнему содержит сообщения 1-10, а не 11-20, которые вы должны видеть на странице 2.

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

 set_transient( 'posts_' . get_query_var( 'paged' ) , $query, 60); 

а затем забрать их по странице:

 get_transient( 'posts_' . get_query_var( 'paged' ) );