WPML
apply_filters( 'wpml_unfiltered_admin_string', mixed $default_value, string $option_name )
Typ
filter
WPML-Version
3.2.3-dev

Beschreibung

Die WPML String-Übersetzung filtert Theme-/Plugin-Einstellungsoptionen, um Übersetzungen ihrer Werte in der aktuellen Sprache zurückzugeben.

Das bedeutet, dass Sie auf einer WordPress-Installation, bei der die WPML-Sprachen beispielsweise auf Englisch als Primärsprache und Deutsch als Sekundärsprache eingestellt sind, erwarten können, dass die deutschen Übersetzungen als Werte abgerufen werden, wenn Folgendes aufgerufen wird:get_option('{theme_name}_settings'); während die aktuelle Sprache Deutsch ist. Wenn die aktuelle Sprache dann Englisch ist, werden die englischen Werte angezeigt.

Dies bedeutet jedoch auch, dass bei einer Aktualisierung eines Optionswerts mit: update_option('{theme_name}_settings', $new_value); der Optionswert in beiden Sprachen aktualisiert wird. Dies ist möglicherweise nicht immer wünschenswert.

Hier ist der obige Filter hilfreich. Der Filter ermöglicht das Abrufen eines Optionswerts unter Umgehung der Filter der WPML String-Übersetzung. Zurückgegeben wird der Wert in der Sprache, in der er abgerufen wird, sodass weitere durchgeführte Vorgänge, wie das Aktualisieren des Werts in der Datenbank, sich nicht auf andere Sprachen auswirken als auf die, mit der Sie gerade arbeiten.

Argumente

$default_value
(mixed) (Erforderlich) Der Wert, der zurückgegeben werden soll, falls der String nicht existiert
$option_name
(string) (Optional) Der Name der abzurufenden Option. Es wird ein nicht SQL-maskierter Name erwartet.

Anwendungsbeispiel

Stellen Sie sich für das folgende Beispiel vor, dass Sie eine andere Sprache als die Standardsprache betrachten.
Der Optionswert, den Sie abrufen, ist als serialisiertes Array gespeichert. Sie möchten ein einzelnes Schlüssel-Wert-Paar im Array aktualisieren und in der Datenbank speichern. Sie erwarten, dass nur die aktuelle Sprache davon betroffen ist.

Beispiel
// retrieve option value is current language
$a = apply_filters( 'wpml_unfiltered_admin_string', get_option( 'my_option_name' ), 'my_option_name' );

// some operations ...
$a['number']++;

//update the value for the current language only
update_option('my_option_name', $a); 	

wpml_media_url, wpml_media_id, force_suppress_filters, wpml_get_translated_slug, wpml_home_url, wpml_translate_single_string, wpml_translate_string, wpml_elements_without_translations, wpml_permalink, wpml_element_link

Alle 12 Abrufen lokalisierter Inhalte-Hooks →