从理论上讲,您编写的代码应该可以工作,但在实际应用程序中,您缺少一些可能会影响代码工作方式的良好实践,因此最好通过一些疑难解答来勾选清单中的所有内容。
通过取消注册jquery
您正在删除jQuery核心和jQuery迁移javascripts,您可能想做的是取消注册核心并保持jQuery迁移。
jQuery迁移包含旧的遗留jQuery代码,它将遗留内容的所有功能移植到新版本的jQuery上。
在您链接的法典的同一页上,如果向下滚动,您可以找到handlers of integrated javascripts you can de-register.
因此,您必须注销jquery-core
而不是jquery
为了保持一些功能的完整性,这包括插件,它们可能需要运行一些遗留的jQuery东西。
您不需要在最后一个参数中附加“false”,因为默认情况下它已经是false了,我还建议删除您的协议,这确保了如果您以后想切换到https,jQuery将始终提供给浏览器。
最后,当您在一个大环境中编码时,名称空间非常重要,因为其他人的代码与您的代码一起运行。add_scripts()
如果您在functions.php
文件尝试添加主题的名称,或编写一些非常独特的内容,以便确保同一函数将来不会与来自插件或工作文件中其他内容的函数发生冲突。
add_action( \'wp_enqueue_scripts\', \'YOURTHEMENAME_scripts\' );
function YOURTHEMENAME_scripts() {
wp_deregister_script(\'jquery-core\');
wp_register_script(\'jquery-core\', \'//ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js\', false, \'2.1.0\');
wp_enqueue_script(\'jquery-core\');
}
请注意,Wordpress的加载顺序如下:
Core -> Plugins -> Theme
如果您试图从自定义插件中取消注册jQuery,那么您的主题可能正在接管脚本队列并与之混淆。
如果在所有这些之后,您仍在将Javascript放入页脚,那么您的header.php
或footer.php
文件:新手的原因之一可能是wp_head()
和wp_footer()
在你的主题中,我已经见过很多次了,这很容易成为可能。
wp_head()
是一个钩子,它为您添加元标记、css队列和js队列,最后一个标志参数设置为“false”。
wp_footer()
是一个钩子,它关心向您添加JS的其余部分,并将最后一个标志参数设置为“true”,以及从各种插件生成的额外标记(以及来自WP核心的管理栏)。
如果有,请仔细检查挂钩函数的位置wp_head()
在页脚中,这很容易成为javascript队列被添加到页脚的原因。