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



お勧め

固定ページを投稿ページ用テンプレートファイル(single.php)で表示する(2013年7月31日 更新)

固定ページと投稿ページのデザインが共通の場合、同じ内容のsingle.phpとpage.phpを用意すれば事足りるが、デザインの修正時は二度手間になってしまう。そこで、固定ページをsingle.phpで表示するようにできないか考えてみた。

タイトルが一致する投稿を検索する(2014年2月20日 更新)

WordPressが提供する投稿ページの文字列検索機能の実現には、 query_posts関数(WP_Queryクラス)が大きな役割を担っている。ここで紹介するのは、高機能ゆえに使いこなすのが難しいquery_posts関数(WP_Queryクラス)の使用法の一例である。

フォーム内のエスケープ処理を考える(2018年10月19日 更新)

WordPressにはエスケープ処理を行う esc_html関数と esc_attr関数がある。HTML要素(タグ)の属性値ならesc_attr関数を、それ以外はesc_html関数を使うことがほとんどだが、今回esc_html関数が適していないと思われるケースに遭遇した。

ダッシュボードのフィードボックスをカスタマイズ(2011年7月8日 更新)

管理者ページのトップページ「ダッシュボード」には、「WordPress 開発者ブログ」と「WordPress フォーラム」という2つのフィードボックスが表示されている。自分のような開発者には有益な情報をもたらしているが、一般の方には必要のない情報かもしれない。今回はこのフィードボックスをカスタマイズする方法を紹介する(管理者権限)。

classic editorプラグインを試してみた(2018年12月10日 更新)

WordPress 5.0 beta1のリリースにあわせて旧エディター環境を実現できる「classic editor」(バージョン0.5.0)が公開された。自分が公開しているプラグインの一部が旧エディター環境に依存していることもあり、さっそく試してみた。WordPress 5.0正式リリースに合わせてclassic editorも1.0がリリースされたので、それについて追記しました。