Verificare se uno script/stile è stato accodato/registrato in WordPress

3 mar 2011, 18:00:15
Visualizzazioni: 16.9K
Voti: 35

È possibile verificare se uno script o uno stile è stato registrato utilizzando wp_register_script/_style o wp_enqueue_script/_style? Nessuna di queste funzioni restituisce un valore e sono completamente perso.

Ne ho bisogno per passare tra diverse funzioni in base alle librerie di stili e agli script che offro.

Grazie!

0
Tutte le risposte alla domanda 2
0
57

Esiste una funzione chiamata wp_script_is( $handle, $list ). $list può essere uno dei seguenti:

  • 'registered' -- è stato registrato tramite wp_register_script()
  • 'queue' -- è stato accodato tramite wp_enqueue_script()
  • 'done' -- è stato stampato
  • 'to_do' -- verrà stampato

Lo stesso vale per wp_style_is().

9 mar 2011 16:14:36
3
11

Controlla $GLOBALS['wp_scripts']->registered per gli script.

Esempio

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

print (int) is_enqueued_script( 'l10n' );

$GLOBALS['wp_styles']->registered funziona allo stesso modo.

3 mar 2011 20:41:17
Commenti

Ho votato negativamente a causa della mancanza di controlli di validità, lascia la possibilità di errori fatali.

Backie Backie
4 mar 2011 10:49:19

@Backie, ma capisci che questo è un proof of concept?

fuxia fuxia
4 mar 2011 13:59:06

wp_script_is() è una soluzione migliore e più sicura (Adam Backstrom` ) solution

chrisl-921fb74d chrisl-921fb74d
4 ago 2011 17:26:56