WPML
do_action( 'wpml_register_single_string', string $context, string $name, string $value )
Typ
action
WPML-Version
3.2

Beschreibung

Registriert einen einzelnen Text-String zur Übersetzung (im Gegensatz zu einem String, der Teil eines Pakets ist). Diese Aktion wird normalerweise für Texte aus Benutzereingaben verwendet, die auch als „dynamische Text-Strings“ bezeichnet werden.

Für den Abruf einer String-Übersetzung siehe: wpml_translate_single_string

Für die Registrierung eines Text-Strings, der Teil eines Pakets ist, siehe: wpml_register_string

Hinweis: Dieser Hook erfordert das Modul WPML String-Übersetzung

Argumente

$context
(string) (Erforderlich) Dieser Wert gibt dem String, den Sie registrieren möchten, einen Kontext. Dies ist normalerweise der Name des Plugins oder Themes in einem für Menschen lesbaren Format
$name
(string) (Erforderlich) Der Name des Strings, der dem Übersetzer hilft, zu verstehen, was übersetzt wird
$value
(string) (Erforderlich) Der String, der übersetzt werden muss
$allow_empty_value
(bool: standardmäßig false) (Optional) Ob ein leerer Wert zulässig ist oder nicht
$source_lang_code
(string) (Optional) Der Sprachcode für den registrierten String

Anwendungsbeispiel

Stellen Sie sich vor, Sie haben ein benutzerdefiniertes Widget mit einem Titel-Eingabefeld und einigen anderen Optionen erstellt. Sie können den Widget-Titel für die Übersetzung mit apply_filters registrieren, aber Sie möchten auch den Eingabetext registrieren, den Sie in den anderen Optionsfeldern des Widgets speichern können.

Das Registrieren von Eingabetexten für die Übersetzung erfolgt am besten, wenn die Widget-Optionen gespeichert oder aktualisiert werden, d. h. innerhalb der „update“-Methode von Widgets.

Unten finden Sie ein Beispiel dafür, wie der Code aussehen könnte. Unser benutzerdefiniertes Beispiel-Widget verfügt über einen Titel, ein einzeiliges Eingabefeld und einen Textbereich.

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

Der obige Code teilt WPML mit, dass der Benutzereingabetext für das Eingabefeld und den Textbereich übersetzt werden muss. Die Texte werden unter dem String-Kontext Widgets mit den Namen Custom Widget – input field bzw. Custom Widget – textarea field registriert.

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

Alle 10 Einfügen von Inhalten-Hooks →