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

概要

esc_textarea関数は、ワードプレスでテキストエリアの値を適切にエスケープ(無害化)するための便利な関数です。この関数は、ユーザーから受け取ったデータやデータベースから表示する際のセキュリティを強化するために広く使用されています。以下は、この関数がよく使われる場合です:

  1. ユーザーが投稿するコメントのエスケープ
  2. 設定画面でのユーザー入力データのエスケープ
  3. プラグイン設定画面でのテキストエリアの値表示
  4. カスタムテーマでのHTMLフォーム生成
  5. ウィジェット設定の保存データエスケープ
  6. マルチサイト環境でのネットワークの設定
  7. 管理画面のオプションページでのデータ管理
  8. ユーザー管理でのプロフィール情報表示

構文

esc_textarea( string $text )

パラメータ

  • $text (string): エスケープするテキストを指定します。

戻り値

エスケープされたテキストを返します。

関連する関数

使用可能なバージョン

esc_textarea関数は、ワードプレスのバージョン2.8以降で使用可能です。

ワードプレスのコアファイルのパス

wp-includes/formatting.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

サンプルコード

以下は、esc_textarea関数を使用したサンプルコードです。

サンプルコード1: テキストエリアの内容を表示

<textarea><?php echo esc_textarea( get_option( 'my_textarea_option' ) ); ?></textarea>

説明: このコードは、保存されたオプションの値をエスケープしてテキストエリアに表示しています。

サンプルコード2: フォーム送信時の保存データ処理

if ( isset( $_POST['my_textarea'] ) ) {
    update_option( 'my_textarea_option', wp_kses_post( $_POST['my_textarea'] ) );
}

説明: フォーム送信されたデータをエスケープしてオプションとして保存する際の処理です。

サンプルコード3: 管理画面の設定セクション

function my_settings_page() {
    ?>
    <textarea name="my_textarea"><?php echo esc_textarea( get_option( 'my_textarea' ) ); ?></textarea>
    <?php
}

説明: 管理画面の設定ページにテキストエリアを作成し、エスケープされた値を表示しています。

サンプルコード4: ウィジェットでのユーザー入力表示

$text = esc_textarea( $instance['text'] );
echo '<div class="widget-text">' . $text . '</div>';

説明: ウィジェットに設定されたテキストをエスケープし、表示する処理です。

サンプルコード5: 投稿のカスタムメタデータ

$post_meta = esc_textarea( get_post_meta( $post_id, 'custom_meta_key', true ) );
echo '<textarea>' . $post_meta . '</textarea>';

説明: 投稿のカスタムメタデータをエスケープしてテキストエリアに表示するサンプルコードです。

以上のサンプルコードは、著作権フリーなコードであり、ワードプレスのセキュリティ機能の一部として多くの場面で使用される関数です。

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


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