esc_attr__()


WordPressのesc_attr__()関数は、テキストをエスケープし、属性として安全に使用できるようにするための関数です。主にHTML属性内で使用されるテキストをエスケープするために利用されます。

構文

esc_attr__( string $text, string $domain = 'default' );

引数の説明:

  • $text(string) — エスケープするテキスト。
  • $domain(string) — 翻訳用のテキストドメイン。デフォルトは’default’。

例1: 基本的な使用例

この例では、テキストをエスケープしてHTML属性として出力します。

<input type="text" value="<?php echo esc_attr__( 'サンプルテキスト', 'textdomain' ); ?>">

例2: 翻訳付きのエスケープ

翻訳可能なテキストをエスケープして出力します。

<a title="<?php echo esc_attr__( 'ホームに戻る', 'mytheme' ); ?>">ホーム</a>

例3: 動的なテキストのエスケープ

動的に生成されたテキストをエスケープして使用します。

<?php $dynamic_text = get_the_title(); ?>
<input type="text" value="<?php echo esc_attr__( $dynamic_text, 'textdomain' ); ?>">

例4: フォームのプレースホルダー

フォームのプレースホルダーとしてエスケープされたテキストを使用します。

<input type="email" placeholder="<?php echo esc_attr__( 'メールアドレスを入力', 'textdomain' ); ?>">

例5: カスタム属性のエスケープ

カスタムデータ属性にエスケープされたテキストを使用します。

<div data-info="<?php echo esc_attr__( '追加情報', 'textdomain' ); ?>">コンテンツ</div>

例6: エスケープされたテキストを変数に保存

エスケープされたテキストを変数に保存して後で使用します。

<?php $escaped_text = esc_attr__( '保存されたテキスト', 'textdomain' ); ?>
<span><?php echo $escaped_text; ?></span>

例7: 複数のエスケープ処理

複数のテキストをエスケープして一度に出力します。

<input type="text" value="<?php echo esc_attr__( 'テキスト1', 'textdomain' ); ?>">
<input type="text" value="<?php echo esc_attr__( 'テキスト2', 'textdomain' ); ?>">

例8: エスケープされたテキストを条件分岐で使用

条件に応じてエスケープされたテキストを出力します。

<?php if ( is_front_page() ) { ?>
<input type="text" value="<?php echo esc_attr__( 'フロントページ用テキスト', 'textdomain' ); ?>">
<?php } else { ?>
<input type="text" value="<?php echo esc_attr__( 'その他のページ用テキスト', 'textdomain' ); ?>">
<?php } ?>

注意点

  • エスケープ処理はセキュリティ上重要です。特にユーザー入力や動的なデータを扱う際には必ず使用してください。
  • 翻訳が必要なテキストにはesc_attr__()を使用し、翻訳が不要な場合はesc_attr()を使用します。

関連機能: