概要
esc_html
関数は、WordPressでHTMLを安全に出力するために使用される関数です。この関数は、ユーザーが入力したデータをそのまま出力することによるXSS(クロスサイトスクリプティング)の脆弱性を防ぐために、HTMLタグをエスケープします。主に以下のような場面で使用されることが多いです。
- ユーザーが投稿したコメントを表示する際
- ユーザープロフィール情報を表示する際
- プラグインの設定値を表示する際
- テンプレート内の変数を出力する際
- 投稿やページのタイトルを表示する際
- カスタムフィールドの値を表示する際
- メッセージやエラーメッセージを表示する際
- ウィジェットのタイトルや内容を表示する際
構文
esc_html( string $text ): string
パラメータ
$text
(string): エスケープ対象のテキスト。
戻り値
- (string): エスケープされたテキスト。
関連する関数
- https://refwp.com/?titleonly=1&s=esc_html
- https://refwp.com/?titleonly=1&s=esc_html_e
- https://refwp.com/?titleonly=1&s=esc_attr
使用可能なバージョン
esc_html
関数は、WordPress 2.8.0 以降で使用可能です。
コアファイルのパス
wp-includes/general-template.php
サンプルコード
サンプル1: 投稿タイトルを安全に表示
$my_post_title = get_the_title();
echo esc_html($my_post_title);
説明: 投稿のタイトルを取得し、HTMLエスケープして安全に表示します。
サンプル2: コメント内容を安全に表示
$comment_content = get_comment_text();
echo esc_html($comment_content);
説明: ユーザーが投稿したコメントを取得し、HTMLエスケープして安全に表示します。
サンプル3: プラグイン設定値を表示
$my_setting = get_option('my_plugin_setting');
echo esc_html($my_setting);
説明: プラグインの設定値を取得し、HTMLエスケープして表示します。
サンプル4: ウィジェットのタイトルを表示
$widget_title = get_field('widget_title');
echo esc_html($widget_title);
説明: カスタムフィールドからウィジェットのタイトルを取得し、HTMLエスケープして表示します。
サンプル5: エラーメッセージの表示
$error_message = "入力エラー: " . $input_error;
echo esc_html($error_message);
説明: 入力エラーを表示する際に、エラーメッセージを安全にエスケープして表示します。
この関数のアクションでの使用可能性
アクション | 使用例 |
---|---|
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 |
esc_html
関数は、現在のところ非推奨または削除された WordPress バージョンはありません。