Измените цикл WordPress после его запуска

Я пытаюсь создать страницу категории, в которой отображаются 8 сообщений из категории, но когда пользователь нажимает «Читать дальше» (который выполняет запрос Ajax и отображает больше сообщений), я бы хотел, чтобы цикл отобразил 9 сообщений .

Вот мой текущий код:

<?php // Variables $posts_per_page = 8; $loopCount; // Loop arguments $args = array( 'post_type' => 'post', 'posts_per_page' => $posts_per_page, 'paged' => (get_query_var('paged')) ? get_query_var('paged') : 1 ); // The Loop query_posts($args); while ( have_posts() ) : the_post(); ?> <?php get_template_part( 'content', get_post_format() ); ?> <?php $loopCount++; ?> <?php if ($loopCount == 8) { $posts_per_page = 9; } ?> <?php endwhile; ?> 

Код работает нормально, однако при загрузке страницы показывается 8 сообщений, а при нажатии кнопки «Читать дальше».

Как я могу изменить цикл после того, как он отображает 8 сообщений, чтобы отобразить 9?

Первый:

  • Внесите свой код последовательно, редактор кода должен сделать это автоматически, если это не так, вы должны изменить, я могу рекомендовать Sublime Text в качестве бесплатного варианта, но есть сотни других
  • Не спам PHP-тегов, <?php echo 'you'; ?><?php echo ' dont '; ?><?php echo 'need ';?><?php echo 'this'; ?> <?php echo 'you'; ?><?php echo ' dont '; ?><?php echo 'need ';?><?php echo 'this'; ?> <?php echo 'you'; ?><?php echo ' dont '; ?><?php echo 'need ';?><?php echo 'this'; ?> , когда <?php echo 'you can just open tags once and close them when your done?';?>
  • Никогда не используйте query_posts . Если бы я был вашим работодателем, я бы уволил вас за такую ​​вещь. Кто научил вас использовать его, они оказали вам плохую услугу. Чтобы получать сообщения в WordPress, используйте WP_Query или get_posts , чтобы изменить запрос, используйте фильтр pre_get_posts . Не забудьте впоследствии вызвать wp_reset_postdata для очистки
  • Выберите стиль и придерживайтесь его, либо вы if() {} либо if(): endif; , не смешивайте 2 типа, это просто усложняет жизнь, и ваш код трудно читать

Что касается вашей проблемы, просто распечатайте 9 сообщений. Оберните 9-й пост в div, который скрыт по умолчанию, и переключите его видимость с помощью javascript при нажатии кнопки.