Jquery 我试图使用无限滚动与我的wordpress主题,但它不工作

Jquery 我试图使用无限滚动与我的wordpress主题,但它不工作,jquery,wordpress,wordpress-theming,Jquery,Wordpress,Wordpress Theming,谢谢你抽出时间来帮我 我有一个wordpress网站:,在这个网站上我使用wordpress 3.8.1;在主题中我想使用无限滚动;我尝试使用不同的插件,比如wp_infinitescroll,滚动插件;这些工作都没有,所以我试着用一种定制的方式来完成 因此,我在这里使用教程中提到的步骤 但是我不确定,但看起来wordpress 3.8.1中需要做一些小改动,如下所述 在旧的wordpress版本中,我们使用了查询帖子 query_posts(数组('paged'=>$paged,'post_s

谢谢你抽出时间来帮我

我有一个wordpress网站:,在这个网站上我使用wordpress 3.8.1;在主题中我想使用无限滚动;我尝试使用不同的插件,比如wp_infinitescroll,滚动插件;这些工作都没有,所以我试着用一种定制的方式来完成

因此,我在这里使用教程中提到的步骤

但是我不确定,但看起来wordpress 3.8.1中需要做一些小改动,如下所述

在旧的wordpress版本中,我们使用了查询帖子
query_posts(数组('paged'=>$paged,'post_status'=>'publish'))

在新的wordpress版本中,我们使用了
query_posts(数组('page'=>$paged,'post_status'=>'publish')

我们用“页面”代替“页面”

我试过了,但它也不起作用,所以我把它调回原来的“paged”

对于无限卷轴,我使用

对于infinite,我使用下面提到的代码

在function.php中

function wp_infinitepaginate(){ 
    $loopFile        = $_POST['loop_file'];
    $paged           = $_POST['page_no'];
    $posts_per_page  = get_option('posts_per_page');

    # Load the posts

    query_posts(array('paged' => $paged, 'post_status' => 'publish'));
    get_template_part( $loopFile );

    exit;
}


add_action('wp_ajax_infinite_scroll', 'wp_infinitepaginate');           // for logged in user
add_action('wp_ajax_nopriv_infinite_scroll', 'wp_infinitepaginate');    // if user not logged in
在header.php中,我使用了

<script type="text/javascript">
function loadArticle(pageNumber) {
    jQuery.ajax({
        url: "<?php bloginfo('wpurl') ?>/wp-admin/admin-ajax.php",
        type:'POST',
        data: "action=infinite_scroll&page_no="+ pageNumber + '&loop_file=loop', 
        success: function(html){
            jQuery("#main .container").append(html);    // This will be the div where our content will be loaded
        }
    });
    return false;
}
</script>


<script type="text/javascript">
            jQuery(window).scroll(function(){
                    if  (jQuery(window).scrollTop() == jQuery(document).height() - jQuery(window).height()){
                          // run our call for pagination
                    }
            }); 
</script>

函数loadArticle(页码){
jQuery.ajax({
url:“/wp admin/admin ajax.php”,
类型:'POST',
数据:“action=infinite_scroll&page_no=“+pageNumber+”&loop_file=loop',
成功:函数(html){
jQuery(“#main.container”).append(html);//这将是加载内容的div
}
});
返回false;
}
jQuery(窗口).滚动(函数(){
if(jQuery(window).scrollTop()==jQuery(document).height()-jQuery(window).height()){
//运行分页调用
}
}); 
但它不起作用,请帮助,指导我我做错了什么,或者遗漏了什么,即使它没有显示任何js错误,但我在这里发现它给出了0值

您错过了调用loadArticle的js部分以及要加载的页码

   var count = 2;//for first load
        $(window).scroll(function(){
                if  ($(window).scrollTop() == $(document).height() - $(window).height()){
                   loadArticle(count);
                   count++;
                }
        }); 

根据我在下面提到的主题,我在function.php中更改了一个loop函数,从而解决了这个问题:除此之外,我还将get_query_var('paged')更改为get_query_var('page')

装上柱子
$loop\u paged=(获取查询变量('page'))?获取查询变量('page'):$paged;
查询帖子('orderby=date&order=ASC&paged='。$loop\u paged);
如果(have_posts()):
while(have_posts()):the_post();
获取模板部分(“内容”,获取发布格式());
结束时;
回声'
';
endif;

看起来它甚至没有获得导航,或者它没有从ajax数据文件中获得正确的值。现在,您已将窗口滚动部分(在浏览器中检查页面源代码)翻了一番,只在另一部分下翻了一部分。啊,我的坏消息,让我删除它,这样做了,但它不会对它产生影响。尝试使用alert代替ajax调用,看看它是否触发了{alert}('bottom reacted');count++;}先生,您的问题中甚至没有列出这段代码。@Ovidio lacomi尊敬Ovidio,感谢您的关注,但实际上正是因为它没有加载并将正确的数据发送到ajax文件;所以我在这里检查了调用我的主题内容循环,而不是defaut循环。
     $loop_paged = (get_query_var('page')) ? get_query_var('page') : $paged;
     query_posts('orderby=date&order=ASC&paged=' . $loop_paged);

                            if ( have_posts() ) :
                                while ( have_posts() ) : the_post(); 
                                    get_template_part( 'content', get_post_format() );
                                endwhile; 
                                echo '</ul></div>
                                <div style="clear: both"></div>';
                                                       endif;