概要
wp_script_is関数は、WordPressで登録されたスクリプトの状態を調べるための便利な関数です。この関数は、特定のスクリプトがキューにあるか、ロードされているかどうかを確認する際に使用されます。以下は、wp_script_is関数がどのような機能を実装する際によく使われる状況の例です。
- 特定のスクリプトがテーマで使用されているか確認
- プラグインでスクリプトの依存関係を管理
- スクリプトのバージョン情報をチェック
- モバイルデバイスに適したスクリプトの配信
- 特定のページや条件下でのスクリプトの有無を確認
- 条件付きでスクリプトを読み込む
- スクリプトのデバッグ情報を表示
- コードの最適化やパフォーマンスの改善のために使用
構文
wp_script_is( $handle, $list = 'enqueued' );
パラメータ
$handle(string) – スクリプトのハンドル名。$list(string) – チェックするリストのタイプ。デフォルトは'enqueued'で、他に'registered'や'done'も指定可能。
戻り値
指定したスクリプトの状態に応じて、次のいずれかを返します:
– true:スクリプトがその状態にある場合。
– false:スクリプトがその状態にない場合。
関連する関数
使用可能なバージョン
この関数は、WordPress 3.0.0以降で使用可能です。
コアファイルのパス
wp-includes/script-loader.php
この関数のアクションでの使用可能性
| アクション | 使用可能性 |
|---|---|
| mu_plugin_loaded | 〇 |
| registered_post_type | |
| plugins_loaded | 〇 |
| wp_roles_init | |
| setup_theme | 〇 |
| after_setup_theme | 〇 |
| set_current_user | |
| init | 〇 |
| register_sidebar | |
| wp_loaded | 〇 |
| send_headers | |
| parse_query | |
| pre_get_posts | |
| wp | 〇 |
| template_redirect | 〇 |
| get_header | |
| wp_head | 〇 |
サンプルコード
サンプル1: スクリプトが登録されているか確認
if ( wp_script_is( 'jquery', 'registered' ) ) {
echo 'jQueryは登録されています。';
}
このサンプルは、jqueryというハンドル名のスクリプトが登録されているかどうかを確認します。
サンプル2: スクリプトがキューに追加されているか確認
if ( wp_script_is( 'custom-script', 'enqueued' ) ) {
echo 'カスタムスクリプトはキューに追加されています。';
}
ここでは、custom-scriptがキューにあるかどうかをチェックします。
サンプル3: すでにスクリプトが読み込まれているか確認
if ( wp_script_is( 'theme-script', 'done' ) ) {
echo 'テーマスクリプトはすでに読み込まれています。';
}
このサンプルは、theme-scriptがすでに読み込まれているかどうかを確認します。
サンプル4: 条件によるスクリプトの読み込み制御
if ( ! wp_script_is( 'example-script', 'enqueued' ) ) {
wp_enqueue_script( 'example-script', 'url/to/script.js' );
}
このコードは、example-scriptがキューにある場合にはスクリプトを追加しないようにしています。
サンプル5: スクリプトのデバッグ用メッセージ
if ( wp_script_is( 'admin-script', 'done' ) ) {
error_log( 'Admin script is loaded.' );
}
このサンプルは、admin-scriptが読み込まれている場合に、デバッグ用のメッセージをログに記録します。