wp AJAX 加载更多插件重复相同的先前帖子

wp AJAX load more plugin repeating the same previous posts

我使用 wp ajax 加载更多 plugin 单击按钮时它会重复之前的操作 post。如何修复它。在这里,我在下面分享我的代码:

<?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"]');
  ?>

有人能修好吗?

我只是用这个来解决我自己的问题:

 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"]');

您不需要创建自定义查询。您正在使用一个插件,该插件将通过他们的短代码为您生成它。根据他们的文档,您只需为简码创建设置即可。

请参阅此处的说明 https://connekthq.com/plugins/ajax-load-more/docs/shortcode-builder/

只需将生成的短代码粘贴到您的 page/post 或带有 do_shortcode 的 php 文件中。

该插件处理查询和每页的帖子等

如果你想用ajax-load-more获得下一组页面,你必须使用offset参数。 ajax-load-more 插件必须获取 WP_Query 拥有的下一个帖子。所以 WP_Query 和 ajax-load-more 必须查询相同的页面。首先通过添加 orderorderby 参数将短代码更改为与 WP_Query 相同:

[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 不知道 -,所以您必须用 , 分隔 categorypost_type。除非你实际上有一个名为 a-e

的类别