• Resolved gerd.neumann

    (@gerdneumann)


    Wie bei deutschen Produkten so steht genauso unten bei den Bewertungen bei deren englischen übersetzungen der Hinweis:

    Verified purchase. Find out more

    Der “Find out more”-Link verlinkt jedoch die deutsche Seite. Hier sollte jedoch die englisch übersetzte Seite verlinkt sein. Das ist mit Polylang und Polylang for WooCommerce.

    Das betrifft bei uns die ?ltere Germanized Version 3.10.6. Allerdings ist im Changelog auch kein Hinweis auf einen Fix diesbzgl., weshalb ich davon ausgehe, dass das mit 3.11.2 auch auftritt.

    Ich bin mir aber nicht ganz klar, warum das auftritt, weil https://github.com/vendidero/woocommerce-germanized/blob/fe82e7b2e1e0d56d59b790f982bf363caf303fee/includes/wc-gzd-core-functions.php#L402-L409 sieht erst mal korrekt aus. Aber vielleicht muss bei wc_get_page_id( $type ) nochmal die review_authenticity Seite für Polylang angemeldet werden?

    • This topic was modified 1 year, 11 months ago by gerd.neumann.
Viewing 4 replies - 1 through 4 (of 4 total)
  • Plugin Author vendidero

    (@vendidero)

    Hi,

    grunds?tzlich stellt Germanized keine explizite Kompatibilit?t für PolyLang bereit. Wir stellen eine Kompatibilit?t für WPML bereit, da dieses Plugin deutlich weiter verbreitet ist. Leider sind Kompatibilit?ten mit Plugins zur Mehrsprachigkeit sehr komplex, da Mehrsprachigkeit im WP Core nicht wirklich vorgesehen ist und deshalb nur recht schlecht integriert werden kann.

    Aber vielleicht muss bei?wc_get_page_id( $type )?nochmal die?review_authenticity?Seite für Polylang angemeldet werden?

    Ja, ich denke das ist der richtige Ansatz. Hier wird vermutlich eine Registrierung via PolyLang notwendig sein. Im Zweifel müsstest du dich damit ggf. an den PolyLang Support wenden.

    Grü?e

    Thread Starter gerd.neumann

    (@gerdneumann)

    Hallo,

    danke für die schnelle Antwort. Ich habe daraufhin dem Polylang-Support geschrieben und es gibt zwei hier zwei Dinge bzgl. WPML-Kompatibilit?t. Wenn man das ?ndert, dann würde es auch mit Polylang gehen, weil Polylang mit der WPML-API kompatibel ist.

    1. das alte ‘translate_object_id’ sollte durch ‘wpml_object_id’ ersetzt werden
    2. review_authenticity sollte im Germanized Code unter woo_pages gelistet werden

    Das Problem hier w?re durch 2. wohl schon gel?st, aber Punkt 1 ist vermutlich auch nicht verkehrt.

    Der Vollst?ndigkeit halber hier die gesamte Antwort von Polylang:

    To overview the issue here, the compatibility of Germanized with WPML should be applicable with Polylang plugins, not to mentioned they do show, to a certain extent, a compatibility with Polylang : https://github.com/vendidero/woocommerce-germanized/blob/master/includes/compatibility/class-wc-gzd-compatibility-polylang.php

    This requires to apply the best practices by using the documented WPML public API : https://github.com/vendidero/woocommerce-germanized/blob/v3.11.2/includes/compatibility/class-wc-gzd-compatibility-wpml.php#L614
    Going through the analysis of the compatibility with WPML, the use of ‘translate_object_id’ https://github.com/vendidero/woocommerce-germanized/blob/v3.11.2/includes/compatibility/class-wc-gzd-compatibility-wpml.php#L638 should be replaced by ‘wpml_object_id’ since version 3.2 of WPML (2015) : https://wpml.org/wpml-hook/wpml_object_id/.
    We have not either been able to find this review authenticity page in the compatibility page list of WooCommerce for Germanized : https://github.com/vendidero/woocommerce-germanized/blob/v3.11.2/includes/compatibility/class-wc-gzd-compatibility-wpml.php#L617-L622

    If a plugin is compatible with WPML, our development team has done they best to be functional as well with Polylang’s solution. That is, if the best practices apply when integrating their functions.

    Plugin Author vendidero

    (@vendidero)

    Hi,

    leider ist das nicht so einfach. Die WPML Kompatibilit?t wird nur dann geladen, wenn WPML auch wirklich als Plugin aktiviert ist. Wir verwenden innerhalb der Kompatibilit?t u.a. auch Methoden, die speziell von WPML bereitgestellt werden und nicht von PolyLang, sodass das zwangsl?ufig zu Fehlern führen würde.

    Natürlich kannst du einfach innerhalb deiner functions.php Kompatibilit?t speziell für das übersetzen der Seiten bereitstellen:

    $woo_pages = array(
    	'revocation_page_id',
    	'data_security_page_id',
    	'imprint_page_id',
    	'payment_methods_page_id',
    	'shipping_costs_page_id',
    	'terms_page_id',
    	'review_authenticity_page_id'
    	);
    
    foreach ( $woo_pages as $page ) {
    	add_filter( 'woocommerce_get_' . $page, 'my_child_translate_page' );
    	add_filter( 'option_woocommerce_' . $page, 'my_child_translate_page' );
    }
    
    function my_child_translate_page( $id ) {
    	global $pagenow;
    
    	if ( is_admin() && 'options-permalink.php' === $pagenow ) {
    		return $id;
    	}
    
    	return apply_filters( 'wpml_object_id', $id, 'page', true );
    }

    Grü?e

    Thread Starter gerd.neumann

    (@gerdneumann)

    Hallo

    Die WPML Kompatibilit?t wird nur dann geladen, wenn WPML auch wirklich als Plugin aktiviert ist.

    K?nnte man diese nicht auch laden, wenn Polylang als Plugin aktiviert ist?

    Naja, wie dem auch sei, ja, ich werde das jetzt einfach via unseres child themes l?sen. Danke. Laut polylang support g?be es auch noch eine einfachere als die von dir skizzierte L?sung mit folgendem im Child theme:

    add_filter ( 'option_woocommerce_review_authenticity_page_id', 'pll_get_post' );
    

    Ich probiere das mal aus. Und erw?hne es hier für potentiell andere User. (Generell sch?ner f?nde ich es natürlich, wenn das im Germanized Plugin selber behoben w?re, und dann somit für alle User, aber ich sch?tze mal die Schnittmenge von Polylang-und-Germanized-Shops hat dann einfach noch nicht die kritische Menge an Betroffenen ??

    • This reply was modified 1 year, 11 months ago by gerd.neumann.
Viewing 4 replies - 1 through 4 (of 4 total)
  • The topic ‘Link zu engl. “Echtheit von Bewertungen”-Seite mit Polylang’ is closed to new replies.