wp AJAX加载更多重复前几篇文章的插件

时间:2019-03-20 10:22:26

标签: php ajax wordpress load

我使用wp ajax加载了更多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 :(得分:1)

如果要使用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

的类别

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

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

在此处查看说明https://connekthq.com/plugins/ajax-load-more/docs/shortcode-builder/

只需将生成的简码粘贴到您的页面/帖子中,或使用HATEOAS粘贴到您的php文件中即可。

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