Wordpress循环的帖子用完了


Wordpress loop running out of posts?

我对这里发生的事情感到困惑,我有11篇帖子,其中3篇最初加载,每次滚动到页面底部时都加载3篇,直到所有11篇都显示出来。这很好。

当我点击一个按钮并再次将前3篇帖子动态加载到页面上时,就会出现问题。这是通过.html(数据).加载的

我在一个叫做档案的"页面"上做这件事。

就好像存档页面知道我之前显示了所有11篇帖子,除非我刷新页面,否则拒绝重新开始。

我该如何重置循环,或者告诉wordpress我想再次从第三篇文章开始?

jQuery(document).ready(function($){
    $("a.sort-all").bind("click", function(e) {
        load_posts(this);
        e.preventDefault();                 
    });
    function load_posts() {
        var ajax_url = $('.sort-all').attr('data-all-url');
        $.ajax({
            dataType: "HTML",
            url: ajax_url,
            type:'POST',
            data:{
                action: 'data_click_all',
                offset: offset
            },
            success:function(data) {
                $('#content').html(data);
            }
        });
    }
    var ajax_url = $('.sort-all').attr('data-all-url');
    var offset = 0;
    $('#content').waypoint(function(direction) {
        if(direction === 'down'){
            offset = parseInt(offset) + 3;
            $.ajax({
                dataType: "HTML",
                url: ajax_url,
                type:'POST',
                data:{
                    action: 'data_scroll_all',
                    offset: offset
                },
                success:function(data) {
                    $('#content').append(data);
                    $.waypoints('refresh');
                }
            });
        }
    }, {
        offset: 'bottom-in-view'
    });
}); 
if (!class_exists('load_posts')) {
    class load_posts    {
        /**
        * PHP 4 Compatible Constructor
        */
        function load_posts(){$this->__construct();}
        /**
        * PHP 5 Constructor
            */      
        function __construct(){
            add_action('wp_ajax_data_scroll_all', array(&$this, 'data_scroll_all'));
            add_action('wp_ajax_nopriv_data_scroll_all', array(&$this, 'data_scroll_all'));
            //----//
            add_action('wp_ajax_data_click_all', array(&$this, 'data_click_all'));
            add_action('wp_ajax_nopriv_data_click_all', array(&$this, 'data_click_all'));
        }
        function data_click_all(){
            global $post;
            $offset = $_POST['offset'];
            $args = array('posts_per_page' => 3, 'offset' => $offset, 'category__not_in' => 1,'orderby' => 'date');
            $myposts = get_posts( $args );
            foreach( $myposts as $post ) {
                setup_postdata($post);
                get_template_part( 'content-archive' );
            } wp_reset_query();
            die('');
        }
        function data_scroll_all(){
            global $post;
            $offset = $_POST['offset'];
            $args = array('posts_per_page' => 3, 'category__not_in' => 1, 'offset' => $offset, 'orderby' => 'date');
            $myposts = get_posts( $args );
            foreach( $myposts as $post ) {
                setup_postdata($post);
                get_template_part( 'content-archive' );
            } wp_reset_query();
            die('');
        }

    }
}
if (class_exists('load_posts')) {
    $newload_posts = new load_posts();
}

当您单击一个按钮并再次将前3篇文章动态加载到页面上时,您必须重置变量偏移量。同时刷新路点。

 $("a.sort-all").bind("click", function(e) {
         offset=0;
         load_posts(this);
        $.waypoints('refresh');
        e.preventDefault();                 
    });

如果它不起作用,那么你肯定不会有帖子数量的错误,而是另一个阻止一切正常工作的错误。

请在输入航路点时添加警报

$('#content').waypoint(function(direction) {
      alert("current: "+offset);
///...