非插件为WordPress实现分页Ajax无限加载功能

PHPABC WordPress 624 次浏览 , 没有评论

今天在Github上找东西的时候发现了一个叫做 Infinite AJAX Scroll 的项目,看到它通过很简单的设置,就可以让Wordpress支持分页Ajax无线加载功能。测试了下非常好用,现在分享给大家~

下面以Wordpress自带主题 Twenty Twelve 主题为例:

1) 下载 jquery-ias.min.js

2) 把 jquery-ias.min.js 拷贝到 wp-content/themes/twentytwelve/js 文件夹下。

3) 在编辑器中打开 wp-content/themes/twentytwelve/header.php。

4) 为主题添加 jQuery。把下面的代码粘贴到 </head> 前(如果主题已引入jQuery,可跳过此步):

<script src="http://libs.baidu.com/jquery/1.11.1/jquery.js" type="text/javascript"></script>

5) 把下面的代码放在上一步引入的 jQuery 之后,</head> 前:

<script src="&lt;?php echo get_template_directory_uri(); ?&gt;/js/jquery-ias.min.js" type="text/javascript"></script>

6) 最后,把下面的代码贴在 之前(有些属性需要改为你主题中的):

<script type="text/javascript">// <![CDATA[
var ias = $.ias({
    container: "#content", //包含所有文章的元素
    item: ".post", //文章元素
    pagination: ".navigation", //分页元素
    next: ".nav-previous a", //下一页元素
});
 
ias.extension(new IASTriggerExtension({
    text: 'Load more items', //此选项为需要点击时的文字
    offset: 2, //设置此项后,到 offset+1 页之后需要手动点击才能加载,取消此项则一直为无限加载
}));
ias.extension(new IASSpinnerExtension());
ias.extension(new IASNoneLeftExtension({
    text: 'You reached the end.', // 加载完成时的提示
}));
// ]]></script>

如果主题启用了Lazyload插件,在第二页开始之后的页面图片会加载不出来,需要加入下面的代码才行:

ias.on('rendered', function(items) {
    $("img.lazy").lazyload({effect:"fadeIn"}); //这里是你调用Lazyload的代码
})

Done!

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

Go