问题描述

是否可以测试使用 wp_register_script/_stylewp_enqueue_script/_style 是否注册了脚本或样式?所有的功能都没有返回值,我完全无能为力。

我需要它根据 stylesheet-libraries 和我提供的脚本在不同的功能之间切换。

谢谢!

最佳解决方案

有一个叫做 wp_script_is( $handle, $list )的功能。 $list 可以是以下之一:

  • ‘registered’ – 已通过 wp_register_script()注册
  • ‘queue’ – 通过 wp_enqueue_script()入队
  • ‘done’ – 已打印
  • ‘to_do’ – 将被打印

同样适用于 wp_style_is()

次佳解决方案

检查 $GLOBALS['wp_scripts']->registered 的脚本。

function is_enqueued_script( $script )
{
    return isset( $GLOBALS['wp_scripts']->registered[ $script ] );
}

print (int) is_enqueued_script( 'l10n' );

 $GLOBALS['wp_styles']->registered 的工作方式相同。

参考文献

注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。