Loading [MathJax]/jax/output/CommonHTML/jax.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >指定 WordPress 页面按需加载 JavaScript

指定 WordPress 页面按需加载 JavaScript

作者头像
许都博客
发布于 2021-06-15 12:16:50
发布于 2021-06-15 12:16:50
2.3K0
举报
文章被收录于专栏:许都博客许都博客

wordpress 主题或插件中加载 JavaScript 时,官方推荐的方法是使用 wp_enqueue_script() 来加载,该函数可以指定 JavaScript 的依赖库,指定 JavaScript 文件的版本,设置在页面头部或者底部加载,非常灵活和方便。但是,该插件缺少指定在某些页面加载 JavaScript 的设置参数。所幸的是,我们可以通过 WordPress 的函数自己动手来实现这个功能。

当一个比较大的库只在某一个或几个页面使用时,我们不需要在每个页面上加载所有脚本,而只需要在特定的页面模板中加载即可,以免其他页面加载不需要的 JavaScript 文件而影响页面打开速度,增加服务器开销。

比如,我们的主题中有一个名为 “Portfolio Archive” 的页面模板,在这个模板中,我们需要使用 “imagesloaded、masonry、isotope、jquery-ias” 这 4 个 JavaScript 插件来实现这个页面的效果,而这些库在其他页面都是用不上的,如果直接在全部页面加载,每个页面都会加载这 4 个库,即使是这个页面不需要使用这些库来实现效果。

只在使用了某个页面模板的页面上加载指定的 JavaScript 文件吗,在下面的代码中,首页我们加载了每个页面都需要的 jQuery 和 Main.js 文件,然后判断当前页面是否使用了指定的页面模板,然后根据判断结果加载指定页面模板需要的 JavaScript 文件。

  1. //注册加载函数到 hook 上
  2. add_action('wp_enqueue_scripts', 'my_theme_load_scripts');
  3. // 加载样式和脚本
  4. function my_theme_load_scripts(){
  5. wp_enqueue_script('jquery');
  6. // 加载每个页面都需要的 JavaScript 文件
  7. wp_enqueue_script('my_second_script', get_template_directory_uri() . '/js/main.js');
  8. if(is_page()){ //检查当前页面
  9. global $wp_query;
  10. // 插件是否使用了某页面模板
  11. wp_query->post->ID, '_wp_page_template', true );
  12. if($template_name == 'portfolio-archive.php'){
  13. // 如果使用了指定的页面模板,加载需要库
  14. wp_enqueue_script('my_third_script', get_template_directory_uri() .'/js/imagesloaded.js');
  15. ...
  16. }
  17. }
  18. }

在实际的 WordPress 主题开发工作中,并不是每个主题都需要这么操作。如果某主题使用的 JavaScript 文件比较少,全部加载一起也没有多大,我们完全可以把这些 JavaScript 文件合并在一起文件中,这样不但可以减少页面请求数,还可以把脚本文件缓存到客户端,打开下一个页面的时候不用再下载一次。具体什么时候合并代码到一个文件,什么时候拆分代码按需加载,要看主题的实际情况,灵活确定。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-07-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
WordPress 技巧:只有指定的 Shortcode 存在时才载入相关脚本文件
WordPress 3.6 版本增加了一个新的函数 has_shortcode(),这个函数的主要功能就是检测指定内容里是否存在指定的 Shortcode 使用,带来的好处就是只在有使用指定 Shortcode 的文章页面才载入相关脚本文件,这样细微纠结虽然不能给页面载入带来可见的载入速度提升,但锱铢必较向来是我的癖好,好的习惯总能带来不错的效果的。
Denis
2023/04/15
2240
WordPress 教程:使用 wp_localize_script 从 PHP 传递参数给 JavaScript
WordPress 的 wp_localize_script 函数从它名字可以看出它是用来进行前端本地化的,它的工作方式是加载翻译之后的文本,接着将它们当做一个 JavaScript 对象输出到 HTML 中,然后 JS 脚本就用该对象去输出对应语言的文本了。
Denis
2023/04/15
2.9K0
给WordPress新添加一个古腾堡编辑器
在WordPress中添加一个额外的古腾堡编辑器(Gutenberg Editor)实例可以通过自定义代码实现。以下是一个基本的步骤指南,帮助你在WordPress中添加第二个古腾堡编辑器实例。
WordPress爱好者
2024/10/17
1180
给WordPress新添加一个古腾堡编辑器
WordPress 函数:wp_enqueue_script() 安全引入 JS
​WordPress 主题最佳引用 js 文件的方法是使用 WordPress 内置的 wp_enqueue_script() 函数,通过该函数可以安全地将javascript 代码加入到 WordPress 创建的页面中,不仅可以最大限度地保证兼容性,还是提高 WordPress 性能效率的一个方法。
Yangsh888
2022/03/23
8670
WordPress 常用动作钩子 (action)分享
在制作主题和插件,或者为 WordPress 增加某些功能时,一般都要使用 WordPress 的动作钩子 (action),分享几个比较常用的动作钩子,以备用时查看。
Yangsh888
2022/03/24
8020
至顶至底 (雷姆拉姆)WordPress插件
既《至顶至底 (雷姆拉姆)emlog插件》插件发布后,特此发布WordPress版本的插件。
泽泽社长
2023/04/17
1780
至顶至底 (雷姆拉姆)WordPress插件
php更换wordpress用户头像,将用户本地上传头像功能集成到WordPress主题中
之前让WordPress支持注册用户上传自定义头像功能 一文,通过安装Simple Local Avatars和 WP User Avatar插件,可以让注册用户本地上传头像代替默认的Gravatar头像,不过一般都认为插件安装多了,会影响速度,那么我们就以WP默认主题Twenty Fifteen为例,把这个功能集成到WordPress主题中,即可方便用户,也显示得主题高大上。
超级小可爱
2023/02/20
1K0
检测CSS和JS改动自动刷新脚本
当我们在修改主题样式后,经常要做的一个重复动作就是按F5刷新网页,今天介绍一款神奇的小工具,可以检测CSS和JavaScript文件的变化,并自动刷新网页的JS脚本Live.js。
星哥玩云
2022/06/11
2.9K0
替换WordPress 自带默认的 jQuery库, jQuery库页脚加载
在开发WordPress 主题或者WordPress 插件时候,常常要通过wp_enqueue_script这个钩子挂载WordPress 自带的 jQuery库而非是通过硬编码的方式来加载,毕竟是为了避免多次加载 jQuery库。但在实际操作中,常常会有各种各样的问题出现。 因为WordPress 自带的 jQuery库会在最后添加jQuery.noConflict()以保证与其他js 库的兼容,因此那些通过 $ 代替jQuery的缩写代码会失效。详见《WordPress中的jQuery库不起作用的相关问
Jeff
2018/01/19
2.4K0
让博客图片动起来!WordPress实现实况图预览(附插件)
技术本质:Live Photo是苹果开发的动态影像格式(.livephoto),通过HEVC视频(3秒)与JPEG图片的封装组合,实现「按压查看动态效果」的创新交互。用户在WordPress中嵌入这类文件时,传统方案仅显示静态封面。
奶狗
2025/03/17
2110
让博客图片动起来!WordPress实现实况图预览(附插件)
WordPress 通过模板文件和自带的函数引入 css/js 的两种方法
WordPress 引入css/js 是我们制作主题时首先面对的一个难点,任何一款主题都要加载自己的 css,js,甚至很有可能还需要加载 Jquery 文件,网上方法特多,说法不一,我们今天借鉴 wordpress 官方最新的 twentysixteen 主题来学习总结一下 WordPress 引入 css/js 各种常用方法,以及最优化的加载方法。
Yangsh888
2022/03/28
1.8K0
WordPress 网站主题页面添加加载进度条方法
WordPress 网站主题添加页面加载进度条方法。pace.js是一个非常赞的JavaScript插件,可以实时监听页面的数据加载,包括Ajax请求,显示页面加载进度,并且能够定制样式,类似浏览器加载进度条,比如Safari。下面以WordPress默认主题Twenty Seventeen为例,将这个特效功能加到主题中。
主机教程网2bcd.com
2022/10/19
6660
WordPress文章防复制代码
通过下面的JS代码,可以有效地防止别人直接复制拷贝你的文章,用frame标签引用你的文章时,会自动跳转到文章正常链接,同时禁止右键菜单。
许都博客
2021/06/15
7390
WPJAM「静态文件」:一键合并 WordPress 插件和主题的 JS 和 CSS 文件,加快页面加载速度
每个插件和主题可能有自己的 CSS 和 JavaScript 内联代码或者文件,如果 CSS 和 JavaScript 内联代码或者文件一多,就开始出现了两个比较难受的问题:
Denis
2023/04/13
7.1K0
WPJAM「静态文件」:一键合并 WordPress 插件和主题的 JS 和 CSS 文件,加快页面加载速度
为WordPress主题添加页面加载进度条
pace.js是一个非常赞的JavaScript插件,可以实时监听页面的数据加载,包括Ajax请求,显示页面加载进度,并且能够定制样式,类似浏览器加载进度条,比如Safari。
星哥玩云
2022/08/13
1.3K0
为WordPress主题添加页面加载进度条
WordPress面试题
将域名解析到另一台主机涉及修改域名服务器记录(DNS)和邮件服务器记录(MX)。以下是一般步骤:
777nx
2023/11/16
4440
WordPress 教程:如何正确引用 JavaScript 和 CSS 文件
在开发 WordPress 插件或者是制作 WordPress 主题的时候,都会引用一些 JavaScript 和 CSS 脚本资源。通常大家直接使用 link、script 标签写进 HTML 当中,其实 WordPress 内置了比较完善的引用脚本的函数和方法。显然,使用 WordPress 内置的方法引用,更专业更具有可扩展性一些。
Denis
2023/04/15
1.4K0
以文件修改时间戳做 CSS、JS 等文件的版本号,减少主动清理更新缓存的次数
每次修改 WordPress 的 css 和 js 文件,都要主动清理文件的缓存才能生效,尤其是采用了 oss 和 cdn 回源。使用函数 filemtime() 获取文件修改时间戳,并以此做版本号,
Yangsh888
2022/03/23
9080
WordPress 技巧:社会化评论插件多说提速技巧
分享几个社会化评论插件多说的提速技巧:1. 不再查询 WordPress 原生的留言。 2. 不再加载 comment-reply.js,3.把多说的 JavaScript 脚本移到 footer。
Denis
2023/04/15
5100
WordPress的主题添加AJAX无刷新提交评论功能
有时主题在提交评论后会刷新整个网页才可获取资源,别人家的都不是这样的,以下可以改善评论后无刷新即可获取资源。
空木白博客
2019/04/23
1.7K0
推荐阅读
相关推荐
WordPress 技巧:只有指定的 Shortcode 存在时才载入相关脚本文件
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文