Jetpack 中的无限滚动设置

之前提到过,本博客开启了“无限滚动“(Infinite Scroll)。其实它是来自 Jetpack。Jetpack 是 WordPress 的一个官方扩展,之所以称它为扩展,是因为它已经超出了插件的定义。Jetpack 是一个巨大的怪兽,里面有无数多的功能。你所需要的常用功能,在 Jetpack 中都能找到一两个。

这里说说 Jetpack 的“无限滚动“功能,顾名思义就是可以在浏览博客的时候不停地往下拉,后续的博文会不断地加载出来,而不需要点“下一页“。它实际上就是一个 AJAX 调用,每次拉到页面底部的时候,浏览器会去下载后几篇文章,然后附加在页面底部。视觉效果就是文章永远都看不完。

“无限滚动“功能需要主题(Theme)的配合,主题中需要有相关的代码才能触发此功能。如果你是主题作者,可以在你的主题中加入以下代码来实现“无限滚动“功能:

其中 container 是新加载的文章所要添加进的 DOM 容器的 id;footer 指定了一个固定在页脚的容器,一般用来显示主题名称之类的版权信息;posts_per_page 指定了每次加载多少篇文章,可以看实际需求调整,默认值是 7。更多的参数可以参考 Jetpack 的官方介绍

如果你不是主题作者,但也想修改一些设置,比如本博客把 posts_per_page 改成了 3。在不改变已有主题的情况下,也是可以做到的。首先,你需要创建一个子主题(Child Theme),然后在子主题的 functions.php 中加入以下代码即可:

其中 infinite_scroll_settings 是 Jetpack 用来保存“无限滚动“设置的变量,而 add_filter 则是在它加载设置之前,修改它的值。同样,“无限滚动“的其它设置也可以用这种方法修改。

大功告成!


2 条评论 添加

发表评论

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