WordPress不修改主题functions.php引入自定义jQuery脚本的方法
直接修改官方主题的functions.php确实不符合WordPress开发规范,后续主题更新会直接覆盖你新增的所有代码,以下是两类无需修改原主题functions.php的实现方案:
方案1:使用子主题(最推荐,适合和主题样式/功能绑定的自定义脚本)
子主题是WordPress官方专门为避免修改原主题文件丢失设计的机制,操作步骤如下:
- 在站点
wp-content/themes目录下新建文件夹,命名为twentytwentyone-child(原主题名加-child后缀即可) - 在子主题文件夹内新建
style.css文件,写入基础主题声明:
/* Theme Name: Twenty Twenty-One 子主题 Template: twentytwentyone */
- 继续在子主题文件夹内新建
functions.php,把你之前用于挂载脚本的代码复制到这个文件中即可 - 进入WordPress后台「外观-主题」,启用新建的子主题即可,原主题的所有配置、内容都不会丢失,后续原主题更新也不会影响子主题内的自定义代码
方案2:自定义独立插件(适合全站通用、换主题也需要保留的脚本)
如果你的自定义脚本和主题功能无关,更换主题后也需要保留加载,可以做一个极简的自定义插件实现需求:
- 在站点
wp-content/plugins目录下新建文件夹,命名为custom-script-loader - 在该文件夹内新建
custom-script-loader.php文件,写入以下代码:
<?php /* Plugin Name: 自定义脚本加载器 Description: 站点自定义JS脚本挂载工具 Version: 1.0 */ function add_custom_script() { // 若后续想把脚本迁移到插件目录,可将路径替换为 plugin_dir_url( __FILE__ ) . 'script_new.js',更换主题也不用改路径 wp_enqueue_script( 'my_script', get_stylesheet_directory_uri() .'/js/script_new.js', array( 'jquery' ), '1.0', true ); } add_action( 'wp_enqueue_scripts', 'add_custom_script' );
- 进入WordPress后台「插件」列表,找到「自定义脚本加载器」插件启用即可,后续更新主题、更换主题都不会影响脚本加载
如果你的自定义脚本代码量非常少,也可以直接用后台「外观-自定义-额外JS」功能直接写入代码,不需要单独存JS文件,适合临时的小功能修改。
内容的提问来源于stack exchange,提问作者Aki T
相关产品推荐
相关产品推荐

