由于4.5中有一个函数允许您将内联js附加到排队的js文件中,因此称为wp_add_inline_script.
现在,此函数不允许添加任何具有</script>
出于安全原因。但当您查看wp\\u add\\u inline\\u脚本源代码时,可以看到它只是wp_scripts()->add_inline_script() 使用一些添加的字符串分析调用恶意字符串。
因此,如果您不介意直接使用此函数,而不需要添加wp\\u add\\u inline\\u脚本的安全层,该脚本会解析安全问题(只需</script>
现在检查,但将来可能会更多)然后您可以执行以下操作:
function _enqueue_my_scripts() {
// the normal enqueue
wp_enqueue_script( \'jquery-cdn\', \'https://code.jquery.com/jquery-3.3.1.min.js\' );
// our custom code which will check for the existance of jQuery (in this case)
wp_scripts()->add_inline_script( \'jquery-cdn\',
"window.jQuery || document.write(\'<script src=\\"".get_template_directory_uri() ."/js/jQuery.js\\">\\\\x3C/script>\')", \'after\');
}
add_action(\'wp_enqueue_scripts\', \'_enqueue_my_scripts\', 100);
请确保准确复制wp\\u scripts()调用,并且只为要测试的库的测试和\'/js/jQuery\'切换出库测试(\'window.jQuery\')。js的一部分是库的路径,因为字符串在输出之前会被解析,只有这样才能以正确的方式打印出来。
上面的代码将为您提供
<script type=\'text/javascript\' src=\'https://code.jquery.com/jquery-3.3.1.min.js\'></script>
<script type=\'text/javascript\'>
window.Swiper || document.write(\'<script src="http://localhost/wordpress/wp-content/themes/wp-theme/js/jQuery.js">\\x3C/script>\')
</script>
在HTML中。