在WordPress中调用AJAX上的帖子重复

时间:2016-07-30 01:30:29

标签: javascript php jquery ajax wordpress

我试图设置“更多”加载' WordPress中的按钮。简单的想法,你按下按钮,它使用AJAX加载更多的帖子,而无需重新加载页面或需要使用分页。

我在SO上跟踪previous article并且设法让它主要用于工作。

到目前为止,我已经能够获得额外的帖子加载,但由于某种原因,它们正在重复。我看了一下Networks选项卡,似乎每次按下按钮,admin-ajax.php会运行两次,我怀疑这是导致重复的原因。不幸的是,我不太清楚我需要改变什么来解决这个问题。

知道如何使用自定义帖子类型以及普通帖子也非常有用。在我的网站上,我有两种帖子类型,标准博客帖子和自定义项目'发布类型。每个都有自己的页面和自己的循环,我将如何修改上述内容以使其适用于两者?我需要写出两次全部内容还是可能更简单?

任何想法的人?

这是HTML:

directory name="/MyServices/MySearchKey"
directory name="/MyServices/MySearchKey/anything_else"
directory name="/MyServices/MySearchKey/anything_else/V1"
file name="myfile_1"

这是主循环:

//directory[contains(@name, '/ondisk/')]/@name

这是我的functions.php:

<section id="ajax-posts" class="layout">
    <?php get_template_part( 'content', 'blog' ); ?>
</section>
<div class="load-more layout">
  <a id="more_posts" class="button"><span class="icon-plus"></span></a>
</div>

这是我的JS:

<?php
  $postsPerPage = 1;
  $args = array(
 'post_type' => 'post',
 'posts_per_page' => $postsPerPage
);

$loop = new WP_Query($args);
while ($loop->have_posts()) : $loop->the_post(); 
?>

<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
<a href="<?php the_permalink(); ?>"><?php the_post_thumbnail();?></a>
<div class="inner-text">
<h4 class="post-title"><?php the_title(); ?></h4>
<h5><span class="icon-calendar"></span> <?php the_date(); ?></h5>
<?php the_excerpt(); ?>
<a href="<?php the_permalink(); ?>" class="button">Read More<span class="icon-arrow-right2"></span></a>
</div>
</article>
<?php endwhile; wp_reset_postdata(); ?>

1 个答案:

答案 0 :(得分:0)

你已经放了两次

wp_localize_script( 'bigredpod-script', 'ajax_posts', array(
    'ajaxurl' => admin_url( 'admin-ajax.php' ),
    'noposts' => __('No older posts found', 'bigredpod'),
));

wpt_theme_js()功能中。这可能是导致ajax加载两次的原因。