ワードプレスのesc_html関数の使用方法・解説

概要

esc_html 関数は、WordPressでHTMLを安全に出力するために使用される関数です。この関数は、ユーザーが入力したデータをそのまま出力することによるXSS(クロスサイトスクリプティング)の脆弱性を防ぐために、HTMLタグをエスケープします。主に以下のような場面で使用されることが多いです。

  1. ユーザーが投稿したコメントを表示する際
  2. ユーザープロフィール情報を表示する際
  3. プラグインの設定値を表示する際
  4. テンプレート内の変数を出力する際
  5. 投稿やページのタイトルを表示する際
  6. カスタムフィールドの値を表示する際
  7. メッセージやエラーメッセージを表示する際
  8. ウィジェットのタイトルや内容を表示する際

構文

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 バージョンはありません。

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


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