WPML
do_action( 'wpml_register_single_string', string $context, string $name, string $value )
Tipo
action
Versione di WPML
3.2

Descrizione

Registra una singola stringa di testo per la traduzione (a differenza di una stringa che fa parte di un pacchetto). Questa azione viene solitamente usata per i testi inseriti dall’utente, altrimenti noti come “stringhe di testo dinamiche”.

Per recuperare la traduzione di una stringa vedi: wpml_translate_single_string

Per registrare una stringa di testo che fa parte di un pacchetto vedi: wpml_register_string

Nota: questo hook richiede il modulo WPML Traduzione stringhe

Argomenti

$context
(string) (Obbligatorio) Questo valore fornisce un contesto alla stringa che stai per registrare. Di solito si tratta del nome del plugin o del tema, in un formato leggibile
$name
(string) (Obbligatorio) Il nome della stringa che aiuta il traduttore a capire cosa viene tradotto
$value
(string) (Obbligatorio) La stringa che deve essere tradotta
$allow_empty_value
(bool: false per impostazione predefinita) (Opzionale) Se è consentito o meno un valore vuoto
$source_lang_code
(string) (Opzionale) Il codice della lingua per la stringa registrata

Esempio di utilizzo

Immagina di aver creato un widget personalizzato con un campo di input per il titolo e alcune altre opzioni. Puoi registrare il titolo del widget per la traduzione utilizzando apply_filters, ma vuoi registrare anche il testo di input che puoi salvare negli altri campi delle opzioni del widget.

La registrazione dei testi di input per la traduzione si esegue al meglio quando le opzioni del widget vengono salvate o aggiornate, ossia all’interno del metodo ‘update’ dei widget.

Di seguito è riportato un esempio di come potrebbe apparire il codice. Il nostro widget personalizzato di esempio ha un titolo, un campo di input a riga singola e un’area di testo.

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

Il codice precedente indica a WPML che il testo inserito dall’utente per il campo di input e l’area di testo deve essere tradotto. I testi verranno registrati nel contesto delle stringhe Widgets, rispettivamente con i nomi Custom Widget – input field e 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

Tutti i 10 hook della categoria Inserimento di contenuti →