Sprawdź, czy skrypt / styl został umieszczony w kolejce / zarejestrowany


31

Czy można sprawdzić, czy skrypt lub styl został zarejestrowany przy użyciu wp_register_script/_stylelub wp_enqueue_script/_style? Wszystkie funkcje nie zwracają wartości i jestem całkowicie nieświadomy.

Potrzebuję przełączać się między różnymi funkcjami w zależności od bibliotek arkuszy stylów i skryptów, które oferuję.

Dziękuję Ci!

Odpowiedzi:


49

Istnieje funkcja o nazwie wp_script_is( $handle, $list ). $listmoże być jednym z:

  • „zarejestrowany” - został zarejestrowany za pośrednictwem wp_register_script()
  • „kolejka” - została umieszczona w kolejce wp_enqueue_script()
  • „gotowe” - zostało wydrukowane
  • „to_do” - zostanie wydrukowane

To samo dotyczy wp_style_is().


11

Sprawdź $GLOBALS['wp_scripts']->registeredskrypty.

Przykład

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

print (int) is_enqueued_script( 'l10n' );

$GLOBALS['wp_styles']->registered działa w ten sam sposób.


1
Down przegłosował ten ze względu na brak kontroli poczytalności, pozostawia możliwość śmiertelnych błędów.
Backie,

2
@Backie, ale rozumiesz, że to dowód koncepcji?
fuxia

wp_script_is () jest lepszym i bezpieczniejszym rozwiązaniem (Adam Backstrom`) rozwiązanie
chrisjlee
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.