do_action( 'wpml_register_single_string', string $context, string $name, string $value )
- タイプ
- action
- カテゴリー
- コンテンツの挿入
- WPMLバージョン
- 3.2
説明
(パッケージの一部である文字列とは異なり)個別のテキスト文字列を翻訳用に登録します。このアクションは通常、「動的テキスト文字列」とも呼ばれるユーザー入力テキストに使用されます。
文字列の翻訳を取得する方法については、以下を参照してください:wpml_translate_single_string
パッケージの一部であるテキスト文字列を登録する方法については、以下を参照してください:wpml_register_string
注: このフックにはWPML 文字列翻訳モジュールが必要です
引数
- $context
- (string) (必須)この値は登録しようとしている文字列にコンテキストを与えます。通常、これは人間が読める形式のプラグインまたはテーマの名前になります。
- $name
- (string) (必須)翻訳者が何を翻訳しているのかを理解するのに役立つ文字列の名前です。
- $value
- (string) (必須)翻訳する必要がある文字列です。
- $allow_empty_value
- (bool: デフォルトはfalse) (オプション)空の値を許可するかどうかを設定します。
- $source_lang_code
- (string) (オプション)登録する文字列の言語コードです。
使用例
タイトル入力フィールドとその他のオプションを持つカスタムウィジェットを作成したとします。apply_filtersを使用してウィジェットのタイトルを翻訳用に登録できますが、ウィジェットの他のオプションフィールドに保存できる入力テキストも登録したいとします。
翻訳用に入力テキストを登録する最適なタイミングは、ウィジェットのオプションが保存または更新されるとき、つまりウィジェットの「update」メソッド内です。
以下はコードの例です。この例のカスタムウィジェットには、タイトル、1行の入力フィールド、テキストエリアがあります。
例
function update($new_instance, $old_instance){
$instance = $old_instance;
$instance['title'] = strip_tags($new_instance['title']);
$instance['custom_input'] = strip_tags($new_instance['custom_input']);
$instance['custom_textarea'] = $new_instance['custom_textarea'];
//WPML
/**
* register strings for translation
*/
do_action( 'wpml_register_single_string', 'Widgets', 'Custom Widget - input field', $instance['custom_input'] );
do_action( 'wpml_register_single_string', 'Widgets', 'Custom Widget - textarea field', $instance['custom_textarea'] );
//WPML
return $instance;
}
上記のコードは、入力フィールドとテキストエリアのユーザー入力テキストを翻訳する必要があることをWPMLに伝えます。これらのテキストはそれぞれ、Widgets文字列コンテキストの下で、Custom Widget – input fieldおよびCustom Widget – textarea fieldという名前で登録されます。
関連するフック
wpml_set_element_language_details, wpml_make_post_duplicates, wpml_admin_make_post_duplicates, wpml_copy_post_to_language, wpml_delete_package, wpml_import_get_trid_from_imported_translations, wpml_register_string, wpml_show_package_language_ui, wpml_delete_package_action