WPML + Zeitpunkt der Ermittlung der Sprache für CookieBox

Hallo!

Ich muss (in Kombination mit ACF) programmatisch und Post-Abhängig die WPML-Sprache umschalten.  Der früheste Zeitpunkt, an dem ich von WordPress die post ID ermitteln kan ist mit dem action hook ‚wp‘.  Damit kann ich dann die Sprache von WPML umstellen. Mein Problem ist, dass Borlabs Cookie die Sprache scheinbar vorher ermittelt und die umgestellte Sprache ignoriert. Wenn ich WPML früher umstelle, z.B. im ‚init‘ -Hook. Funktioniert es, aber da kriege ich noch keine Post ID. Habt ihr einen Tipp, wie ich das realisieren kann?

Vielen Dank im Voraus.

add_action('wp', function(){

global $sitepress;

$sitepress->switch_lang('en');

// Seite wird in englisch dargestellt
// Post ID kann ermittelt werden
// Cookie Box wird aber in deutsch dargestellt

},5);
add_action('init', function(){

global $sitepress;

$sitepress->switch_lang('en');

// Seite wird in englisch dargestellt
// Cookie Box wird in englisch dargestellt
// Post ID kann aber noch nicht ermittelt werden

},5);
Neues Mitglied Gefragt vor am Juli 21, 2021 in Borlabs Cookie.
Kommentar hinzufügen
3 Antwort(en)

Borlabs Cookie ermittelt die Sprache praktisch sofort, also vor dem ‚wp‘ Hook. Anschließend nutzt es den Rückgabewert von WPMLs ‚wpml_current_language‘ Filter.

Wenn du das was WPML bei diesem Filter zurückgibt, im WP-Hook änderst, musst du anschließend von uns die Config und die Content Blocker neu laden.

 

// Load config with new language code
BorlabsCookie\Cookie\Config::getInstance()->loadConfig('DER_NEUE_LANGUAGE_CODE');
// Load Content Blocker settings with new language code
BorlabsCookie\Cookie\Frontend\ContentBlocker::getInstance()->init();

ACHTUNG: Das ist alles so nicht vorgesehen und die direkte Verwendung von unseren Klassen sollte niemals erfolgen. Diese Lösung kann daher bei einem Update eventuell nicht mehr funktionieren. Für die Version 3.0 kann ich dir versichern, dass diese Methode nicht mehr funktionieren wird und du deinen Code dann anpassen müsstest (Version 3.0 hat noch keinen finalen Releasetermin, Q3 ist angepeilt).

Hilfreiches Mitglied Beantwortet vor am Juli 24, 2021.
Kommentar hinzufügen

Hallo Ben!

Sorry, deine Antwort ist bei mir untergegangen… Super, ich danke dir! Das hilft schon mal etwas weiter.

Zwei Fragen hätte ich noch:

  • Deine Lösung funktioniert, das Banner wird in englisch angezeigt, allerdings werden bei den Cookie-Details, die man vom Banner aus aufrufen kann, die Gruppen-Inhalte in deutsch dargestellt. Die Maske selbst ist in englisch (siehe Bild). Hättest du da noch einen Tipp für mich?
  • Wird es mit Version 3 eine ähnliche Lösung geben, Code anpassen wäre ok – es müsste danach nur funktionieren 🙂

 

Vielen Dank!

RE: WPML + Zeitpunkt der Ermittlung der Sprache für CookieBox

Neues Mitglied Beantwortet vor am August 11, 2021.
Kommentar hinzufügen

Du musst entweder die Zurücksetzen Option wählen oder manuell übersetzen.

Lies bitte unbedingt https://de.borlabs.io/kb/mehrsprachigkeit-mit-wpml-oder-polylang/

Zu v3: ne, das wird deutlich besser werden.

Hilfreiches Mitglied Beantwortet vor am August 11, 2021.
Kommentar hinzufügen

Deine Antwort

Mit dem Absenden deiner Antwort erklärst du dich mit den Datenschutzbestimmungen und den Nutzungsbedingungen einverstanden.