ワードプレスのwp_print_script_tagアクションの使用方法・解説

概要

wp_print_script_tagアクションは、内容が空のscript要素を出力するために使用されます。このアクションは、特定の条件下でJavaScriptのスクリプトを出力するカスタマイズ機能を実装する際に役立ちます。以下は、このアクションがよく使用されるケースの一例です。

  1. JavaScriptの条件付き読み込みを制御するため。
  2. 外部スクリプトのヘッダーやフッターへの動的な挿入。
  3. カスタムスクリプトの生成、例えば、ページごとの設定情報をJavaScriptに埋め込む。
  4. 特定のプラグインやテーマと統合する際のスクリプトの調整。
  5. 増減可能なスクリプトの挿入、例えば、トラッキングコードやアナリティクスのスクリプト。
  6. いくつかの条件に基づいてリソースの読み込みを最適化。
  7. 効率的なデバッグ情報の表示。
  8. 特定のユーザー条件に応じて異なるスクリプトを出力。

構文

do_action('wp_print_script_tag', $tag, $src, $deps, $ver, $in_footer);

パラメータ

  • $tag (string) – script要素を表すタグ。
  • $src (string) – スクリプトのURL。
  • $deps (array) – このスクリプトが依存している他のスクリプトのハンドル。
  • $ver (string) – スクリプトのバージョン番号。
  • $in_footer (bool) – スクリプトをフッターに配置する場合はtrue。

戻り値

戻り値はありません。

関連する関数

wp_print_script_tag

使用可能なバージョン

wp_print_script_tagは、WordPress 2.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: カスタムスクリプトの追加

add_action('wp_print_script_tag', 'add_custom_script');

function add_custom_script($tag, $src) {
    if ($src === 'https://example.com/custom.js') {
        // カスタムスクリプトを条件に応じて追加
        echo '<script src="' . esc_url($src) . '"></script>';
    }
}

説明: 特定のスクリプトURLに対して条件付きでカスタムスクリプトを出力します。

サンプルコード2: スクリプト情報の埋め込み

add_action('wp_print_script_tag', 'embed_script_info');

function embed_script_info($tag, $src) {
    if ($src === 'https://example.com/script.js') {
        // スクリプト情報をHTMLのdata属性として出力
        echo '<script src="' . esc_url($src) . '" data-info="custom-info"></script>';
    }
}

説明: 指定したスクリプトにカスタムデータ属性を追加して出力します。

サンプルコード3: フッターにスクリプトを出力

add_action('wp_print_script_tag', 'output_script_in_footer');

function output_script_in_footer($tag, $src) {
    if ('footer-script.js' === basename($src)) {
        echo '<script src="' . esc_url($src) . '" async></script>';
    }
}

説明: 指定したスクリプトをフッターに非同期で出力します。

サンプルコード4: スクリプトのバージョン管理

add_action('wp_print_script_tag', 'versioned_script_output');

function versioned_script_output($tag, $src, $deps, $ver) {
    if (strpos($src, 'library.js') !== false) {
        echo '<script src="' . esc_url($src) . '?ver=' . esc_attr($ver) . '"></script>';
    }
}

説明: ライブラリスクリプトのバージョン番号をURLに付加します。

サンプルコード5: URLの条件付き変更

add_action('wp_print_script_tag', 'conditional_url_change');

function conditional_url_change($tag, $src) {
    if ($src === 'https://external.com/external-script.js') {
        // URLを内部URLに置き換え
        $src = get_home_url() . '/local-script.js';
        echo '<script src="' . esc_url($src) . '"></script>';
    }
}

説明: 外部スクリプトのURLを内部スクリプトのURLに変更して出力します。

この関数について質問する


上の計算式の答えを入力してください