直接修改主题文件,主题一升级,代码就没有了。
其实可以通过插件来引入Javascript代码。
WordPress提供了函数 wp_enqueue_script 和钩子 wp_enqueue_scripts 。
以方便开发者管理Javascript代码。
添加的方法步骤:
在插件目录下新建一个目录,进入目录后新建一个插件文件index.php,插入如下示例代码:
<?php /* Plugin Name: custom javascript Description: Add custom javascript */ function add_custom_scripts() { wp_enqueue_script( 'jquery-ui', 'https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js', array(), '1.12.1', false); } add_action( 'wp_enqueue_scripts', 'add_custom_scripts' );
wp_enqueue_script 函数五个参数说明
1. string $handle #对当前引入的javascript文件的代号
2. string $src = ” #javascript代码资源url
3. array $deps = array() #依赖得代码,就是参数1中handle的值
4. string|bool|null $ver = false #版本号,如果未指定,与WordPress系统版本号一致
5. bool $in_footer = false #是否在文档底部,如果是false,则默认在文档头部就载入
最后保存文件,去插件中心激活插件,在浏览器页面查看页面源代码,就可以看到引入的 javascript 文件了。
使用 wp_enqueue_script 函数有以下优点:
a. 可以设定与其他依赖代码的载入次序
b. 可以指定版本号利于让客户端的缓存失效
c. 可以指定嵌入代码在文档的位置
另外还有一个函数 wp_script_add_data
这个函数用来给你添加的javascript文件设定metadata
例如,添加下面的谷歌广告的代码:
<script data-ad-client="pub-123456789" async src="https://pagead2.googlesyndication .com/pagead/js/adsbygoogle.js"></script>
应该按如下的方式来添加
<?php wp_enqueue_script( 'google_adsense', 'https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js', array(), false, false); wp_script_add_data( 'google_adsense', 'data-ad-client', 'pub-123456789' );
参数说明:
wp_script_add_data( string $handle, string $key, mixed $value )
1> handle wp_enqueue_script函数定义的值
2> key script标签的meta key
3> value script标签的meta value
参考资料
https://developer.wordpress.org/reference/functions/wp_enqueue_script/
https://developer.wordpress.org/reference/functions/wp_script_add_data/