Итак, я создал выделенный шаблон страницы, и на этой странице я хочу перечислить 3 последних сообщения в блоге с обычными ссылками на страницы, чтобы вывести пользователей на предыдущие или следующие 3 сообщения.Wordpress pagination всегда возвращает те же 3 сообщения
У меня есть список, который заполняется, и ссылки появляются, но когда я нажимаю на предыдущие или следующие ссылки, я просто получаю те же 3 сообщения, что и раньше. Я вижу изменения URL (/ blog/page/2), но показанные сообщения всегда являются тремя последними.
ОБНОВЛЕНИЕ. После того, как я очень расстроился, я решил вернуться к основам. Следующий фрагмент - это единственный код, который у меня был в моем шаблоне, просто чтобы изолировать цикл в основном, и этот STILL не исправил его. Все, что я получаю, - это сингл-сообщение на странице, но если я вручную набираю/page/2 в конце URL-адреса, он выводит меня на страницу 2 с другим сообщением. Тем не менее, единственная ссылка, которую я вижу в области разбивки на страницы, - «Новые сообщения» (и это отображается только на стр. 2). Почему «старые» сообщения не появляются?
<?php
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$args = array(
'orderby' => 'post_date',
'order' => 'DESC',
'post_type' => 'post',
'post_status' => 'publish',
'posts_per_page' => 1,
'paged' => $paged,
);
$postslist = get_posts($args);
foreach ($postslist as $post) : setup_postdata($post);
?>
<article>
<h2 class="fnt25 noBtmMarg"><a href="<?php echo get_permalink(); ?>" title="Read: <?php the_title(); ?>"><?php the_title(); ?></a></h2>
<div class="meta fnt18 pMarginBottom">Posted on: <?php the_date(); ?></div>
<div class="fnt22"><?php print_custom_field('listingDesc'); ?></div>
<a href="<?php echo get_permalink(); ?>" class="floatRight fnt22" title="Read the full article: <?php the_title(); ?>">Read more...</a>
<div class="clearfix"></div>
</article>
<?php endforeach; ?>
<div class="nav-previous alignleft"><?php next_posts_link('Older posts'); ?></div>
<div class="nav-next alignright"><?php previous_posts_link('Newer posts'); ?></div>
Доступен ли вы или манипулирует wp_query (или get_posts/get_post или объект $ post) перед этим блоком кода? Также, случайно, некоторые из сообщений, к которым вы обращаетесь к пользовательским сообщениям? – zillaofthegods
Этот блок кода не первый раз, когда я приближаюсь к wp_query или циклу. У меня есть пользовательские типы сообщений, но я не хочу, чтобы они были включены, поэтому я определенно отношусь к типу «post». – Kev
Хорошо, я предполагаю, что у вас есть больше, чем всего 3 сообщения (которые не являются таковыми). Возможно, это предположение из Wordpress? Msgstr "Эта функция не работает (сбой не работает), если в вашем php.ini включен mysql.trace_mode. Если вы не можете отредактировать этот файл, попробуйте добавить ini_set ('mysql.trace_mode', 0) в функции functions.php вашей темы ». Альтернативно, что происходит, когда вы не предлагаете определенный post_type, работает ли он (показывая как сообщения, так и пользовательские сообщения)? – zillaofthegods