概要
esc_attr__
関数は、エスケープ処理した翻訳テキストを取得するための関数です。この関数は主にHTML属性内で使用されるテキストの安全性を確保するために使用されます。具体的には次のような機能を実装する際に役立ちます:
- HTML要素の属性に翻訳された文字列を挿入する場合
- フォームの入力フィールドに翻訳されたラベルを設定する場合
- ボタンやリンクのテキストとして翻訳を表示したい場合
- レポートやエラーメッセージを属性内で表示する場合
- ウィジェット内でのテキストのエスケープ処理
- テーマのカスタマイズオプションでのテキスト処理
- JavaScriptで使用するデータ属性としてのエスケープ
- プラグインの設定ページでのテキストエスケープ
構文
esc_attr__( $text, $domain );
パラメータ
$text
(string): 翻訳したいテキスト。$domain
(string, optional): テキストドメイン。デフォルトはテーマのテキストドメインまたはプラグインのテキストドメイン。
戻り値
エスケープされた翻訳された文字列を返します。
関連する関数
使用可能なバージョン
esc_attr__
関数は、WordPress 4.0以降で利用可能です。
コアファイルのパス
wp-includes/l10n.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_attr__
関数は非推奨または削除されたバージョンはありません。
サンプルコード
サンプル1: 翻訳された属性値をボタンに表示
このサンプルコードでは、翻訳されたテキストをボタンの属性に安全に出力します。
<button type="button" title="<?php echo esc_attr__( 'Click Here', 'text-domain' ); ?>">
<?php echo esc_attr__( 'Submit', 'text-domain' ); ?>
</button>
サンプル2: 入力フィールドのラベルに翻訳を使用
入力フィールドのラベルに安全にエスケープされた翻訳テキストを使用しています。
<label for="username"><?php echo esc_attr__( 'Username', 'text-domain' ); ?></label>
<input type="text" id="username" name="username" />
サンプル3: データ属性に翻訳を含める
データ属性にエスケープ処理した翻訳テキストを設定する例です。
<div data-message="<?php echo esc_attr__( 'Hello World', 'text-domain' ); ?>">
<!-- Content Here -->
</div>
サンプル4: JavaScriptで使用する属性のテキスト
JavaScriptコードで使用する属性値として、エスケープ処理された翻訳を出力しています。
<script>
var message = '<?php echo esc_attr__( 'This is a message', 'text-domain' ); ?>';
alert(message);
</script>
サンプル5: ウィジェットのタイトルに翻訳を使用
ウィジェットタイトルにエスケープ処理した翻訳テキストを設定します。
class My_Widget extends WP_Widget {
public function __construct() {
parent::__construct(
'my_widget',
esc_attr__( 'My Widget', 'text-domain' ),
array( 'description' => esc_attr__( 'A sample widget', 'text-domain' ) )
);
}
}
これらのコードはすべて著作権フリーです。