wp AJAX загрузить больше плагинов, повторяя те же самые предыдущие посты - PullRequest
0 голосов
/ 20 марта 2019

Я использую wp ajax load more plugin При нажатии на кнопку повторяется тот же предыдущий пост.Как это исправить.Здесь я поделюсь своим кодом ниже:

<?php
       $the_query = new WP_Query( array(
       'posts_per_page'=>10,//on loading page i show 10 after click load more i want to show other posts
       'post_type'=>'post-name',
       'category_name' => 'A-E',
       'orderby'=> 'title',
       'order'   => 'ASC',
       'paged' => get_query_var('paged') ? get_query_var('paged') : 1) 
      ); 
?>
<?php while ($the_query -> have_posts()) : $the_query -> the_post(); ?>

// here I print the following data

 <?php
      endwhile;
 ?>

 <?php
      echo do_shortcode('[ajax_load_more post_type="post-name" posts_per_page="10" category="a-e" button_label="Load More"]');
  ?>

Кто-нибудь может это исправить?

Ответы [ 3 ]

0 голосов
/ 26 марта 2019

Вам не нужно создавать пользовательский запрос.Вы используете плагин, который сгенерирует его для вас по шорткоду.Согласно их документации, вы можете просто создать свои настройки для шорткода.

См. Инструкции здесь https://connekthq.com/plugins/ajax-load-more/docs/shortcode-builder/

Просто возьмите сгенерированный шорткод и вставьте его на свою страницу / пост или в свой phpфайл с do_shortcode.

Плагин обрабатывает запрос и сообщения на странице и т. д.

0 голосов
/ 26 марта 2019

Если вы хотите получить следующий набор страниц с ajax-load-more, вы должны использовать параметр смещения.Плагин ajax-load-more должен получать следующие сообщения, которые есть у WP_Query.Поэтому и WP_Query, и ajax-load-more должны запрашивать одни и те же страницы.Сначала измените шорткод на WP_Query, добавив order и orderby параметр:

[ajax_load_more post_type="post-name" posts_per_page="10" order="ASC" orderby="title" category="a-e" button_label="Load More"]

Затем добавьте offset=(get_query_var('paged') ? get_query_var('paged') : 1)*10 следующим образом:

[ajax_load_more post_type="post-name" offset='.((get_query_var('paged') ? get_query_var('paged') : 1)*10).' posts_per_page="10" order="ASC" orderby="title"  category="a-e" button_label="Load More"]

Примечание: кажетсякак ajax-load-more не знает -, поэтому вы должны отделить category или post_type от ,.Если у вас нет категории с именем ae

0 голосов
/ 24 марта 2019

Я просто использую это, чтобы решить мою собственную проблему:

 while ( $query->have_posts() ) : $query->the_post();

 $do_not_duplicate[] = $post->ID; // Store post ID in array
  // Other loop actions could go here

 endwhile; wp_reset_query();  

 $post__not_in = ($do_not_duplicate) ? implode(',', $do_not_duplicate) : '';     
 echo do_shortcode('[ajax_load_more post__not_in="'. $post__not_in .'" post_type="post-name" posts_per_page="10" category="a-e" button_label="Load More"]');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...