Verifică dacă un script/stil a fost înregistrat/încărcat

3 mar. 2011, 18:00:15
Vizualizări: 16.9K
Voturi: 35

Este posibil să testez dacă un script sau un stil a fost înregistrat folosind wp_register_script/_style sau wp_enqueue_script/_style? Toate funcțiile nu returnează nicio valoare și sunt complet nedumerit.

Am nevoie de asta pentru a comuta între diferite funcții în funcție de bibliotecile de stiluri și scripturile pe care le ofer.

Mulțumesc!

0
Toate răspunsurile la întrebare 2
0
57

Există o funcție numită wp_script_is( $handle, $list ). $list poate fi una dintre următoarele:

  • 'registered' -- a fost înregistrată prin wp_register_script()
  • 'queue' -- a fost adăugată în coadă prin wp_enqueue_script()
  • 'done' -- a fost afișată
  • 'to_do' -- va fi afișată

La fel se aplică și pentru wp_style_is().

9 mar. 2011 16:14:36
3
11

Verifică $GLOBALS['wp_scripts']->registered pentru scripturi.

Exemplu

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

print (int) is_enqueued_script( 'l10n' );

$GLOBALS['wp_styles']->registered funcționează în același mod.

3 mar. 2011 20:41:17
Comentarii

Am votat negativ din cauza lipsei verificărilor de bun-simț, ceea ce lasă posibilitatea unor erori fatale.

Backie Backie
4 mar. 2011 10:49:19

@Backie, dar înțelegi că acesta este un proof of concept?

fuxia fuxia
4 mar. 2011 13:59:06

wp_script_is() este o soluție mai bună și mai sigură (Adam Backstrom` ) soluție

chrisl-921fb74d chrisl-921fb74d
4 aug. 2011 17:26:56