每次在wordpress循环中,AJAX都会加载相同的帖子

时间:2015-05-12 10:34:52

标签: php jquery ajax wordpress

我需要对Wordpress进行分页才能使用AJAX。因此,当访问者点击"older entries"时,不会重新加载该页面以显示较旧的帖子。

我已经在这里找到了解决方案。但问题是,它每次都会加载相同的帖子。

这是我的问题:

<ul class="recipe-list">
    <?php
    $home_rcp = $redux_imd['home_rcp'];
    $rcpquery = new WP_Query(array(
        'cat'=> $home_rcp, 
        'posts_per_page' => 4
    ));
    while ($rcpquery->have_posts()) : $rcpquery->the_post();
        ?>
        <li>
            <?php the_post_thumbnail('recipe-thumb'); ?>
            <div class="caption">
                <div class="blur"></div>
                <div class="caption-text">
                    <div class="post-title">
                         <h5><?php the_title() ?></h5>
                    </div>
                    <div class="recipe-home-meta">
                        <p>Posted on
                            <?php the_time('Y/m/d'); ?> By
                            <?php the_author(); ?>
                        </p>
                    </div>
                    <a href="<?php the_permalink() ?>" rel="bookmark">
                        SEE THIS RECIPE
                    </a>
                </div>
            </div>
        </li>
    <?php endwhile; ?>
    <div id="pagination">
        <?php next_posts_link( '&laquo; Older Entries', $rcpquery->max_num_pages) ?>
        <?php previous_posts_link( 'Newer Entries &raquo;') ?>
    </div>
</ul>

这是我的AJAX代码:

$('.recipe-list').on('click', '#pagination a', function (e) {
    e.preventDefault();
    var link = $(this).attr('href');
    $('.recipe-list').fadeOut(500, function () {
        $(this).load(link + ' .recipe-list', function () {
            $(this).fadeIn(500);
        });
    });
});

我在这里做错了什么?

2 个答案:

答案 0 :(得分:1)

第一行PHP代码中的

$ redux_imd肯定会抛出错误。因此,您将不会收到另一页。

答案 1 :(得分:0)

根据您添加的wordpress代码段,似乎您每次点击下一页到最后一页时总是加载前4个项目应该是下一个项目。

从网址获取网页编号并尝试使用

之类的内容

$ wp_query-&GT;查询(&#39; posts_per_page = 10&#39;&#39;&安培;寻呼=&#39; $分页)

基本上你必须在wp_query中添加另一个参数

paged => $paged;

也可以编写自己的wordpress分页,而不是使用某些代码。如果您无法这样做,您可以使用wordpress中提供的插件数量来实现它。

希望这会对你有帮助。