概要
esc_textarea
関数は、ワードプレスでテキストエリアの値を適切にエスケープ(無害化)するための便利な関数です。この関数は、ユーザーから受け取ったデータやデータベースから表示する際のセキュリティを強化するために広く使用されています。以下は、この関数がよく使われる場合です:
- ユーザーが投稿するコメントのエスケープ
- 設定画面でのユーザー入力データのエスケープ
- プラグイン設定画面でのテキストエリアの値表示
- カスタムテーマでのHTMLフォーム生成
- ウィジェット設定の保存データエスケープ
- マルチサイト環境でのネットワークの設定
- 管理画面のオプションページでのデータ管理
- ユーザー管理でのプロフィール情報表示
構文
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>';
説明: 投稿のカスタムメタデータをエスケープしてテキストエリアに表示するサンプルコードです。
以上のサンプルコードは、著作権フリーなコードであり、ワードプレスのセキュリティ機能の一部として多くの場面で使用される関数です。