我们都清楚,现在的博客或网站,速度越快对于用户体验来说越好,这是SEO优化的一部分内容。而减少js脚本加载是网站优化的一个具体措施。
对于WordPress,大家经常会自己改造WordPress的评论模块,让其更美观、赋予评论系统更多的功能。在改造的过程中,无疑会引入一些js脚本。但是,引入太多,会导致网页加载速度变慢。所以,在考虑用户体验时,我们需要考虑:有些文章是否需要评论模块?如果不需要,干脆就关闭评论,同时不加载评论模块引入的js脚本或其他相关文件。
现在的评论模块系统,比较喜欢用滑动解锁功能,这个功能需要调用js脚本,和php文件。所以,可以考虑对于评论关闭且无评论的内容禁止加载部分js和php文件。
谈到这里,需要对具体文章的评论做分析,分以下几类:
- 滑动解锁评论、评论开放
- 已有评论(加载评论所需必要js脚本和其他文件)
- 无评论(加载评论所需必要js脚本和文件)
- 评论关闭(无需加载滑动解锁脚本和滑动解锁相关其他文件)
- 已有评论(加载评论所需必要js脚本)
- 无评论(无需加载评论所需必要js脚本、滑动解锁脚本和滑动解锁相关其他文件)
因此,要用到几个函数:comments_open()
、get_comments_number()
、is_singular()
和 wp_enqueue_script()
。前三个分别用来判断是否允许评论、是否有评论 和 是否是文章页面,见我以前的文章。最后一个的解释,我以前也写过相关文章。
代码部分:
本文禁止住转载。任何形式转载请联系作者(时光在路上 www.timezls.com)。时光在路上保留所有权利
- //在主题function.php 中,对评论部分的js进行优化:
- if ( is_singular() ) { //只有文章页面才能加载评论
- if ( 滑动解锁判断条件 && comments_open() ) { //有滑动解锁且评论开放
- wp_enqueue_script( 此处调用评论所需的js脚本 );
- } else { //无滑动解锁且评论(关闭、开放)
- if ( !(get_comments_number()== 0) && comments_open() ) wp_enqueue_script( 调用评论所需的js脚本 ); //有评论且评论开放
- }
- }
下面的代码是针对有滑动解锁时需要加载的关于滑动解锁的脚本和文件,结合上面函数中有华东解锁需要加载的js脚本一起,这样滑动解锁评论的所有文件就齐全了。如果这种状况中,后来评论关闭了,滑动解锁所需脚本和文件就自动不再进行加载。
- // 修改滑动解锁相关的php文件(例如 qaptcha.php),让没有评论的文章加载下列文件:
- if ( is_singular() && comments_open() ) { //有滑动解锁且评论开放的判断,即评论不开放时没必要加载下面内
- 滑动解锁相关js脚本;
- 其他 滑动解锁相关的文件;
- }
本文禁止住转载。任何形式转载请联系作者(时光在路上 www.timezls.com)。时光在路上保留所有权利