Проверить, был ли скрипт/стиль добавлен в очередь или зарегистрирован
Возможно ли проверить, был ли скрипт или стиль зарегистрирован с помощью wp_register_script/_style
или добавлен в очередь с помощью wp_enqueue_script/_style
? Ни одна из этих функций не возвращает значение, и я совершенно не понимаю, как это сделать.
Мне нужно переключаться между разными функциями в зависимости от библиотек стилей и скриптов, которые я предлагаю.
Спасибо!
Существует функция под названием 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
работает аналогичным образом.

Поставил минус из-за отсутствия проверок на корректность, что может привести к критическим ошибкам.
