WPML
do_action( 'wpml_register_single_string', string $context, string $name, string $value )
Type
action
Version de WPML
3.2

Description

Enregistre une chaîne de texte individuelle pour la traduction (par opposition à une chaîne de texte qui fait partie d’un paquet). Cette action est généralement utilisée pour les textes saisis par l’utilisateur, autrement appelés « chaînes de texte dynamiques ».

Pour récupérer la traduction d’une chaîne de texte, veuillez consulter : wpml_translate_single_string

Pour enregistrer une chaîne de texte qui fait partie d’un paquet, veuillez consulter : wpml_register_string

Remarque : Ce hook nécessite le module WPML Traduction de chaînes

Arguments

$context
(string) (Requis) Cette valeur donne un contexte à la chaîne que vous êtes sur le point d’enregistrer. Il s’agit généralement du nom de l’extension ou du thème, dans un format lisible par un humain
$name
(string) (Requis) Le nom de la chaîne qui aide le traducteur à comprendre ce qui est traduit
$value
(string) (Requis) La chaîne qui doit être traduite
$allow_empty_value
(bool : false par défaut) (Facultatif) Indique si une valeur vide est autorisée ou non
$source_lang_code
(string) (Facultatif) Le code de langue pour la chaîne enregistrée

Exemple d’utilisation

Imaginez que vous ayez créé un widget personnalisé avec un champ de saisie de titre et d’autres options. Vous pouvez enregistrer le titre du widget pour la traduction à l’aide de apply_filters, mais vous souhaitez également enregistrer le texte saisi que vous pouvez sauvegarder dans les autres champs d’options du widget.

Il est préférable d’enregistrer les textes saisis pour la traduction lorsque les options du widget sont sauvegardées ou mises à jour, c’est-à-dire dans la méthode « update » des widgets.

Vous trouverez ci-dessous un exemple de ce à quoi le code pourrait ressembler. Notre exemple de widget personnalisé comporte un titre, un champ de saisie d’une seule ligne et une zone de texte.

Exemple
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;
}

Le code ci-dessus indique à WPML que le texte saisi par l’utilisateur pour le champ de saisie et la zone de texte doit être traduit. Les textes seront enregistrés sous le contexte de chaînes Widgets avec les noms respectifs Custom Widget – input field et 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

Les 10 hooks de la catégorie Insertion de contenu →