Periksa apakah skrip / gaya enqueued / terdaftar

31

Apakah mungkin untuk menguji apakah skrip atau gaya didaftarkan menggunakan wp_register_script/_styleatau wp_enqueue_script/_style? Semua fungsi tidak mengembalikan nilai dan saya sama sekali tidak mengerti.

Saya membutuhkannya untuk beralih di antara berbagai fungsi tergantung pada stylesheet-libraries dan skrip yang saya tawarkan.

Terima kasih!

kaisar
sumber

Jawaban:

49

Ada fungsi yang disebut wp_script_is( $handle, $list ). $listdapat menjadi salah satu dari:

  • 'terdaftar' - terdaftar melalui wp_register_script()
  • 'antrian' - dibiarkan melaluinya wp_enqueue_script()
  • 'selesai' - telah dicetak
  • 'to_do' - akan dicetak

Lakukan semua itu untuk wp_style_is().

Annika Backstrom
sumber
11

Periksa $GLOBALS['wp_scripts']->registeredskrip.

Contoh

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

print (int) is_enqueued_script( 'l10n' );

$GLOBALS['wp_styles']->registered bekerja dengan cara yang sama.

fuxia
sumber
1
Down memilih ini karena kurangnya pemeriksaan kewarasan, meninggalkan kemungkinan untuk kesalahan fatal.
Backie
2
@ Backie, tetapi Anda mengerti bahwa ini adalah bukti konsep?
fuxia
wp_script_is () adalah solusi yang lebih baik dan lebih aman (Adam Backstrom`)
chrisjlee