WooCommerce mit Polylang – Warenkorb, Kasse und Danke-Seite übersetzen

Nach dem Kauf hatte ich das Problem, dass dem Kunden keine übersetzte Thank-you Seite angezeigt wurde.

    Inhaltsangabe
  1. Die Lösung

Ich habe in einem Projekt Polylang zur Übersetzung und WooCOmmerce als Shopsystem genutzt. In diesem Projekt konnte ich jedoch die Warenkorb, Kasse und die Danke-Seite nach dem Einkauf nicht übersetzen, weil im Backend nur ein Beitrag ausgewählt werden konnte.

Die Lösung

Ich habe mir angeschaut, wo WooCommerce die ID’s der Warenkorb-Seite etc speichert und gefunden, dass diese als Option gespeichert werden.

Der Wert dieser Option wird bei jedem Kauf und bei jeder Weiterleitung zu den genannten Seiten abgerufen. Ich musste also nur einen Filter hinzufügen, welches die geholte Seiten-ID manipuliert.

Wir haben folgende Seiten-ID’s:

  • woocommerce_checkout_page_id
  • woocommerce_cart_page_id
  • woocommerce_terms_page_id

Falls euch diese nicht bekannt sind, könnt ihr euch im Backend einloggen und unter Seiten schauen. Dort sind die Warenkorb, Kasse und AGB- Seiten. Wenn ihr diese zum bearbeiten öffnet, bekommt ihr eine URL wie /post.php?post=8781&action=edit in diesem Falle wäre z.B. die Seiten-ID 8781.

So könnt ihr die genannten Seiten durchgehen und euch die ID’s merken. Anschließend fügt ihr folgenden Code in eure functions.php ein:

add_filter('pre_option_woocommerce_checkout_page_id', function() {
    return pll_get_post(XXXX , $_COOKIE['pll_language'] );
});
add_filter('pre_option_woocommerce_cart_page_id', function() {
    return pll_get_post(XXXX , $_COOKIE['pll_language'] );
});
add_filter('pre_option_woocommerce_terms_page_id', function() {
    return pll_get_post(XXXX , $_COOKIE['pll_language'] );
});

Sobald ihr das gemacht habt und die Übersetzungen eingepflegt sind, müssten sich die übersetzten Seiten aufrufen. Ich hoffe mit diesem Beitrag euch geholfen zu haben.

Themen

Bugfixing Erfahrung Learning php Polylang Tipps Übersetzung WooCommerce WordPress

Beitrag teilen

WhatsAppen

Folgen Sie uns