由于jQuery1.12.4有一定的漏洞,在一些高安全级别的网站中需要实用更安全的jQuery版本。目前最安全的版本是jQuery3.4.1。但是Wordpress考虑到其庞大的插件资源的使用性,不得不停留在 jQuery1.12.4 。而我们如果很确定我们使用的插件支持最新版的jQuery,大可切换到 jQuery3.4.1 。
切换方法:
第一步:
禁用内置jQuery。
wp_deregister_script('jquery');
第二步:
引入自己的jQuery库。假设在主题目录下:/assets/js/jquery.js
// 先进行注册
wp_register_script('jquery', get_theme_file_uri('/assets/js/jquery.js'), array(), '3.4.1', false);
// 再引入
wp_enqueue_script('jquery');
完整代码:
前两步的代码均在wp_enqueue_scripts钩子上执行。
function station_ten_scripts()
{
wp_deregister_script('jquery');
wp_register_script('jquery', get_theme_file_uri('/assets/js/jquery.js'), array(), '3.4.1', false);
wp_enqueue_script('jquery');
}
add_action('wp_enqueue_scripts', 'station_ten_scripts');
注意事项:
wp_register_script的第一个参数必须为jquery。否则,很多基于jquery的插件将会无法使用。
更多写法1:
外调jQuery。
function replace_core_jquery_version() {
wp_deregister_script( 'jquery' );
wp_register_script( 'jquery', "https://code.jquery.com/jquery-3.1.1.min.js", array(), '3.1.1' );
wp_enqueue_script('jquery');
}
add_action( 'wp_enqueue_scripts', 'replace_core_jquery_version' );
更多写法2:
jquery-core和jquery-migrate分别替换。
function replace_core_jquery_version() {
wp_deregister_script( 'jquery-core' );
wp_register_script( 'jquery-core', "https://code.jquery.com/jquery-3.1.1.min.js", array(), '3.1.1' );
wp_enqueue_script('jquery');
wp_deregister_script( 'jquery-migrate' );
wp_register_script( 'jquery-migrate', "https://code.jquery.com/jquery-migrate-3.0.0.min.js", array(), '3.0.0' );
wp_enqueue_script('jquery-migrate');
}
评论区
发表新的留言
您可以留言提出您的疑问或建议。
您的留言得到回复时,会通过您填写的邮箱提醒您。