我有+1 Ravs答案,因为它很好,在大多数情况下应该可以工作,但是它假设您知道第三方主题/插件使用的句柄,这并不总是正确的。
如果所有开发人员对相同的样式/脚本使用相同的句柄,则问题不存在,因为WordPress automatically skip styles and scripts registered with same handle.
但假设您使用以下方式注册css:
wp_enqueue_style(\'font-awesome\', ... );
和另一个插件使用
wp_enqueue_style(\'fontawesome\', ... );
WordPress将加载文件2次。
在大多数情况下,开发人员倾向于只使用css的名称而不进行扩展,但这不是一个规则,也可以是不同的版本,例如。
wp_enqueue_style(\'font-awesome.min\', ... );
另一种方法是查看已注册脚本的文件名,查看全局
$wp_styles
包含所有已注册脚本的数组,类似于:
add_action(\'wp_enqueue_scripts\', \'check_font_awesome\', 99999);
function check_font_awesome() {
global $wp_styles;
$srcs = array_map(\'basename\', (array) wp_list_pluck($wp_styles->registered, \'src\') );
if ( in_array(\'font-awesome.css\', $srcs) || in_array(\'font-awesome.min.css\', $srcs) ) {
/* echo \'font-awesome.css registered\'; */
} else {
wp_enqueue_style(\'font-awesome\', get_template_directory_uri() . \'/font-awesome.css\' );
}
}