説明
esc_js() は、JavaScriptの文字列として安全に出力できるようにエスケープする関数です。
基本構文
esc_js( string $text ): string
引数
$text:エスケープする文字列
戻り値
エスケープ済みの文字列。
使い方(サンプル)
$msg = esc_js( $text );
注意点
- 属性内のインラインJS(
onclickなど)向けです。最近は使用を避け、wp_localize_script()やwp_json_encode()が推奨されます。
実務での使いどころ
onclickなどの、HTML属性の中の、JavaScriptに、文字列を埋め込むとき。
よくあるミスと対処
<script>ブロックの中に、値を埋め込むために使っている。<script>には、wp_json_encode()を使うのが、一般的。- HTML属性の値として出力するときに、そのまま使っている。属性全体を、
esc_attr()でも処理する。
NG例
<script>var name = '<?php echo esc_js( $name ); ?>';</script> <!-- script ブロックには、wp_json_encode が向く -->
OK例
<script>var name = <?php echo wp_json_encode( $name ); ?>;</script>
使い分け早見表
| 出力先 | 使う関数 |
|---|---|
<script> の中の値 |
wp_json_encode() |
onclick などの属性内のJavaScript |
esc_js() |
| HTMLの属性値 | esc_attr() |
関連項目
公式リファレンス:esc_js() | Function | WordPress Developer Resources

コメント