wp_script_is

説明

bool wp_script_is( string $handle [ , string $list = 'enqueued' ] )
スクリプトの状態を調べる。

パラメータ

  • $handle
    スクリプトのハンドル名を指定。
  • $list
    [3.5.0]スクリプトの状態を示す'enqueued'(または'queue')、'registered'、'to_do'、'done'のいずれかを指定(省略時は'enqueued')。

返り値

スクリプトが指定された状態であればtrueを、状態でなければfalseを返す。

注意

標準的なスクリプトの出力は次のような流れとなる。

  1. テーマやプラグインでwp_register_script関数で「登録配列(registered配列)」に追加
  2. テーマやプラグインで wp_enqueue_script関数で「出力待ち配列(queue配列)」に追加
  3. wp_headアクションで実行されるwp_print_head_scripts関数でhead要素内の分をまとめて出力
  4. wp_footerアクションで実行されるwp_print_footer_scripts関数で残り分をまとめて出力
  5. 上記のほか、一部のプラグインではwp_print_scripts関数を使用して個別に出力

スクリプトの出力時、まず出力対象の依存関係を調べ、依存関係があるスクリプトを含めて「実行対象配列(to_do配列)」に格納する。すべて実行対象配列に格納したら、スクリプトを出力→「実行済み配列(done配列)」に格納→実行対象配列から削除までの流れを、実行対象配列が空になるまで繰り返し行う。通常、実行されたスクリプトはその段階で出力待ち配列から削除されない。

本関数はパラメータ$listで指定された配列内にパラメータ$handleで指定されたスクリプトが格納されているかを調べ、その有無を返している。


使用例

  • スクリプト'myscript'が出力待ちか調べる。
    <?php if ( wp_script_is( 'myscript' ) ) : ?>
  • スクリプト'myscript'が出力済みか調べる。
    <?php if ( wp_script_is( 'myscript', 'done' ) ) : ?>

フィルター

実行するフィルターはありません。

アクション

実行するアクションはありません。

ソースファイル

/wp-includes/functions.wp-scripts.php

最終更新 : 2019年05月29日 14:37



お勧め

Contact Form 7に確認フェーズを(2012年12月16日 更新)

Contact Form 7はWordPressによるサイト製作でお世話になることが多いプラグインの1つ。ただ、クライアント様によっては、入力、確認、送信の3フェーズにしたいという要望があり、そんな時は別の方法を採用していたのですが、JavaScript(jQuery)を使ってページ遷移しなくてもいいなら確認フェーズは用意できるかなと思い、作り込んでみた。

投稿一覧に独自リンクを追加する(2013年10月16日 更新)

管理者ページの「投稿一覧」や「固定ページ一覧」の各投稿記事はマウスポインタを移動すると、「編集」や「クイック編集」といったリンクが表示される。このリンクに独自のリンクを追加する方法を調べてみた。

HTML編集モードに定型文ボタンを追加する(2011年6月1日 更新)

投稿編集ページにはビジュアル編集モードとHTML編集モードがあり、それらを拡張するプラグインも多数存在している。そういったプラグインを利用するのもいいのだが、仕組みを理解するのも悪くないはず。というわけで、ここではHTML編集モードのボタンの仕組みと定型文を挿入するボタンを追加する方法を紹介する。

投稿日の検索が自由自在に(2015年3月7日 更新)

WordPress 3.7.0ではWP_Date_Queryクラスが追加され、WP_Queryクラス(もちろん query_posts関数でも)で利用できるようになった。このWP_Date_Queryにより、○年○月○日以前や以降の投稿情報を取得したり、○年○月○日から○年○月○日の範囲の投稿情報を取得したりといったことが、容易に行えるようになった。

プラグインのヘッダー情報を国際化対応しよう(2018年5月27日 更新)

バージョン4.8がリリースされてひと段落。あらためてプラグイン一覧ページを見てみると「Akismet」が「Akismet Anti-Spam (アンチスパム)」と表示されていた。説明文だけじゃなくプラグイン名も国際化対応できたのね。