Support » Plugin: WooCommerce Germanized » Das Überschreiben von WC-E-Mails durch Germanized verhindern

  • Resolved hannibal88

    (@hannibal88)


    Hallo,

    ich suche nach einer Möglichkeit, wie ich verhindern kann, dass Germanized die Woocommerce E-Mails überschreibt.
    Ich benutze ein weiteres Plugin, welches ausschließlich das Erscheinungsbild, Inhalte und Anhänge der WC-Mails steuert (WP HTML Mail – Woocommerce) und stoße ständig auf Konflikte.
    Nun würde ich also gerne das Überschreiben der WC-Mailtemplates durch Germanized deaktivieren.

    Folgender Code hat zur Folge gehabt, dass gar keine Mail mehr von WC verschickt wurden:

    <?php
    add_filter( ‘woocommerce_gzd_instant_order_confirmation’, ‘my_child_disable_instant_order_confirmation’, 1, 10 );
    function my_child_disable_instant_order_confirmation( $disable ) {
    return false;
    }
    ?>

    Weiß jemand Abhilfe?

Viewing 11 replies - 1 through 11 (of 11 total)
  • Plugin Author vendidero

    (@vendidero)

    Hi,

    also grundsätzlich nimmt Germanized keine Änderungen am Layout von Emails vor. Von welchen Konflikten sprichst du denn genau? Wir passen lediglich den Ablauf nach der Bestellung etwas an, d.h. wir sorgen dafür, dass die Bestellbestätigung direkt nach dem Kauf versendet wird und nicht erst nach der Bezahlung.

    Grüße

    Hallo und vielen Dank erstmal für die Antwort.

    Über den Editor vom bereits genannten Plugin “WP HTML Mail – Woocommerce” kann ich den Inhalt sowie die Gestaltung (Header/Footer) der WC-E-Mails anpassen. Wenn ich mir aber eine Vorschau der eigentlich bearbeiteten E-Mail anschaue, ist ein anderer/”falscher” Text zu sehen (“Hallo *Vorname*, Ihre Bestellung ist eingegangen und wird nun bearbeitet. Die Einzelheiten Ihrer Bestellung können Sie der nachfolgenden Tabelle entnehmen.”).

    Konkret geht es um die Bestellbestätigungs-Mail. Laut dem Plugin-Autor von “WP HTML Mail – Woocommerce” überschreibt Germanized diese Mail. Ich war ebenfalls davon ausgegangen, dass Germanized inhaltlich etwas an den E-Mails ändert, da es z.B. die Option

    “In E-Mails anzeigen:
    – Grundpreis
    – Produkteinheiten
    – Lieferzeiten-Hinweis
    – Warenkorbkurzbeschreibung”

    gibt.

    Bin ich da auf dem Holzweg? Derzeit wüsste ich auch kein anderes Plugin, welches irgendwie die E-Mails beeinflusst.

    Vielen Dank im Voraus!

    Plugin Author vendidero

    (@vendidero)

    Hi,

    ja, wir ändern einige Dinge bzw. fügen Informationen hinzu aber wir überschreiben keine E-Mail-Templates. Den Satz “Ihre Bestellung ist eingegangen und wird nun bearbeitet.” tauschen wir in der Tat aus (nur in der Bestellbestätigung). Du kannst den Text in den Woo-E-Mail-Einstellungen unter “Bestellbestätigung” anpassen.

    Die rechtlichen Zusatz-Infos wie z.B. Grundpreis, Lieferzeiten usw. kannst du in den Germanized-Einstellungen unter E-Mails optional auch deaktivieren.

    Grüße

    hannibal88

    (@hannibal88)

    Hallo,

    in Ordnung, dann habe ich falsch geschlussfolgert – Germanized überschreibt keine Templates, sondern fügt nur Inhalte hinzu. Soweit so gut. Dass ich den Text der Bestellbestätigung ändern kann, ist mir auch klar, löst aber mein Problem nicht. Ich möchte verhindern, dass Germanized überhaupt auf die E-Mails zugreift bzw. daran etwas ändert.
    Das Problem ist, dass Germanized die Begrüßung “Hallo {first_name},” in die besagte E-Mail einfügt. Dies kann ich nicht ändern/deaktivieren bzw. ich weiß nicht wie und wo!?
    Vor allem, weil mein Shopsystem auf “Deutsch (Sie)” läuft und es unschön ist, wenn der Kunde erst (von Germanized) mit dem Vornamen angesprochen und dann im folgenden “gesiezt” wird.
    Da die Änderungen meines Plugins “WP HTML Mail – Woocommerce” nicht greifen, vermute ich, dass es zu einer Kollision mit dem Eingriff von Germanized kommt. Daher will ich diesen Eingriff verhindern.

    Plugin Contributor Dennis

    (@vdwoocommercesupport)

    Hi,

    die Anrede tauschen wir aus, um Shop-Admins zu ermöglichen die Standard-WooCommerce-Anrede in den E-Mails mit einer individuellen Anrede (die Option findest du unter WooCommerce > Einstellungen > Germanized > Emails > Anrede) auszutauschen. Das funktioniert u.U. nicht richtig in Verbindung mit deinem Email Plugin. Du kannst das über die functions.php deaktivieren:

    add_filter( 'woocommerce_before_template_part', 'my_child_remove_gzd_gettext', 20, 1 );
    
    function my_child_remove_gzd_gettext( $template ) {
          if ( function_exists( 'WC_germanized' ) ) {
              remove_filter( 'gettext', array( WC_germanized()->emails, 'replace_processing_email_text' ), 10 );
              remove_filter( 'gettext', array( WC_germanized()->emails, 'replace_title_email_text' ), 10 ); 
          }
    
          return $template;
    }

    Die anderen, hinzugefügten Infos kannst du in den E-Mail-Einstellungen von Germanized deaktivieren.

    Grüße

    hannibal88

    (@hannibal88)

    Hallo,

    vielen Dank für die Antwort.
    Die Option mit der Anrede hätte ich wohl finden müssen, mein Fehler.
    Ich gehe davon aus, dass WC Germanized nun keine Inhalte der Mails mehr beeinflusst, wenn ich alle Optionen deaktiviert habe.
    Das Problem besteht zwar weiterhin, aber vermutlich ist WC-Germanized nicht der Grund für die Problematik.

    Vielen Dank für die Unterstützung!

    hannibal88

    (@hannibal88)

    Jetzt muss ich doch noch einmal schreiben:

    Wenn ich probeweise WC Germanized deaktiviere, erscheint in meiner E-Mail wieder folgender Text:

    “Hallo XXX,

    Vielen Dank für Ihren Auftrag! Wir haben Ihre Bestellung #XXX erhalten und werden sie umgehend bearbeiten.”

    Also die Anrede von Germanized und ein alter Text, der weder über die E-Mail Option in den Einstellungen von Woocommerce noch über mein E-Mail Plugin editierbar ist.
    Auch ist mir aufgefallen, dass die E-Mail “Bestellbestätigung” nach der Deaktivierung von Germanized “Bestellung in Bearbeitung” heißt. Es könnte also vielleicht doch ein Problem mit Germanized vorliegen.
    Meine Frage also: Kann es sein, dass irgendwo eine Art von “Datenmüll” von Germanized existiert, welcher nach der Deaktivierung erneut die Anrede in die E-Mail einfügt?
    Und kann ich nicht auch verhindern, dass Germanized die E-Mail “customer-processing-order.php” umbenennt?

    Plugin Author vendidero

    (@vendidero)

    Hi,

    nein, das kann nicht sein, d.h. nach Deaktivierung von Germanized werden auch keine Anpassungen mehr von Germanized vorgenommen. Wie kommst du denn darauf, dass “Hallo XXX” eine Anrede ist, die von Germanized hinzugefügt wird? Das ist der Standard in WooCommerce – schau einfach mal in die Woo-Email-Templates rein bzw. in die Übersetzungen. “Hallo {Vorname}” wird von WooCommerce als Anrede in den E-Mails verwendet.

    Die Umbenennung nimmt Germanized nur vor, damit der Shop-Admin darüber informiert ist, dass es sich dabei um die (rechtlich relevante) Bestellbestätigung handelt. Auf die Funktionalität hat die Umbenennung im Normalfall keinen Einfluss. Wenn du auch das verhindern möchtest, müsstest du das Laden der Germanized-Email-Klassen überschreiben – das führt dann aber auch dazu, dass die Funktionalität gestört wird, d.h. die Bestellbestätigung wird u.U. doppelt versendet.

    Technisch wäre das folgendermaßen möglich:

    add_filter( 'woocommerce_email_classes', 'my_child_adjust_email_classes', 20 );
    
    function my_child_adjust_email_classes( $mails ) {
        $mails['WC_Email_Customer_Processing_Order'] = include WC_ABSPATH . 'includes/emails/class-wc-email-customer-processing-order.php';
    
        $mails['WC_Email_Customer_On_Hold_Order'] = include WC_ABSPATH . 'includes/emails/class-wc-email-customer-on-hold-order.php';
    
        return $mails;
    }

    Grüße

    hannibal88

    (@hannibal88)

    Hallo und Danke für die Antwort,

    ich bin (fälschlicherweise) davon ausgegangen, dass die Anrede ausschließlich von Germanized stammt, da ich nur hier eine Einstellungsoption gefunden habe. Aber wie erwähnt, findet sich die Anrede auch im Standard WC-Template. Entschuldige bitte den erneuten falschen Rückschluss.

    Dann habe ich noch eine Verständnisfrage:
    Germanized ist aktiviert – Ich ändere über WC/Einstellungen/E-Mails den Text der Bestellbestätigung und speichere alles nach Plan.
    Wenn ich Germanized nun deaktiviere werden die Änderungen die ich unter WC/Einstellungen/E-Mails vorgenommen habe wieder rückgängig gemacht und der Standard Text erscheint wieder. Ist das soweit gewollt?

    Ich möchte Germanized wirklich keine schlechte Arbeit unterstellen, ich versuche nur die Arbeitsweise des Plugins zu verstehen, damit ich mein Problem soweit wie möglich eingrenzen kann.
    Vielen Dank für die Geduld!

    Plugin Author vendidero

    (@vendidero)

    Hi,

    kein Problem – das ist alles nicht so einfach zu durchblicken 🙂

    Germanized fügt explizit für die Bestellbestätigung eine Option bzw. ein Textfeld hinzu (in den E-Mail-Einstellungen) um den Einleitungstext der Bestellbestätigung anpassen zu können, da dieser Satz u.U. rechtlich relevant ist.
    Wenn du jetzt Germanized deaktivierst, wird die Option entfernt und unsere Filter werden nicht “geladen”, d.h. der Standard-Text aus dem Template wird verwendet – eine andere Möglichkeit gibt es auch nicht, da das Plugin ja deaktiviert ist und keinen Einfluss auf deine Seite hat (WooCommerce stellt im Core keine Möglichkeiten zur Verfügung, E-Mail-Texte via Optionen anzupassen – das kommt alles direkt aus den Templates – wir verwenden nur “Hacks”, d.h. Filter der Übersetzung um die Texte anpassbar zu machen).

    Grüße

    • This reply was modified 1 month ago by  vendidero.

    Alles klar, nochmals vielen Dank für die Unterstützung!

    MfG

Viewing 11 replies - 1 through 11 (of 11 total)
  • You must be logged in to reply to this topic.