我继承了一个使用以下in函数的站点。php:
if ( ! function_exists( \'foundation_assets\' ) ) :
function foundation_assets() {
if (!is_admin()) {
wp_deregister_script(\'jquery\');
}
wp_enqueue_script( \'new-slider\', get_template_directory_uri() . \'/scripts/new.Slider.js\', array(), NULL, true );
}
add_action( \'wp_enqueue_scripts\', \'foundation_assets\' );
endif;
如果我阻止此函数运行,其他插件会正确加载其他脚本。
原来的主题开发人员在这里做了什么坏事吗?如果以这种方式取消注册,其他依赖jQuery的插件是否可能会中断?
最合适的回答,由SO网友:Pieter Goosen 整理而成
我想你错过了关于依赖性的要点。如果在注册样式或脚本或将其排入队列时设置了依赖项参数,则该样式或脚本将在队列中等待加载它所依赖的样式或脚本。在所依赖的脚本或样式完全加载之前,不会加载此特定脚本或样式。
现在,如果取消注册其他人所依赖的脚本或样式,很明显,该特定脚本或样式将永远不会加载,这反过来意味着任何依赖于该特定样式或脚本的脚本或样式将始终保持在队列中,并且永远不会加载。等公共汽车送你到目的地也是一样,但你永远无法乘坐那辆公共汽车到达目的地,因为那辆公共汽车已被无限期取消
我不知道原作者为什么这么做,但我真的认为取消注册jquery没有任何意义,因为这会破坏网站的许多视觉表现,在某些情况下还会破坏网站的功能。