問題描述

是否可以測試使用 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 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。