Woocommerce – German Market – AGB als PDF anhängen

  in medienvirus, WooCommerce, WordPress

Nach der Installation von German Market Press für das beliebte WordPress Shopping Plugin Woocommerce kann man den Shop guten Gewissens auch in Deutschland und Österreich verwenden. Wichtige Funktionen wie das bereist von anderen Onlineshops gewohnte Abhaken der AGB werden ebenso implementiert, wie bereist vordefinierte Texte. Diese kann man schnell seinen Bedürfnissen anpassen. Wichtig: Sie ersetzen nicht die Beratung durch einen entsprechen fitten Anwalt. Aus diesem Grund kann und darf dieser Beitrag keine Rechtsberatung geben.

Bei Bestellungen werden nun brav die entsprechenden Texte in die E-Mails direkt angehangen. So weit so gut. Für die meisten Webmenschen unvorstellbar, aber nichts desto trotz eine Realität: Viele Menschen drucken sich Bestellbestätigungen, Rechnungen, etc aus. Häufig hat das auch gute Gründe, da es zum Beispiel in manchen Fällen wichtig für den Steuerberater ist.

Doch genau hier wird man schnell auf Unverständnis stoßen, da die Formatierung der E-Mail dafür sorgt das dutzende von Seiten ausgedruckt werden. Nicht gut für die Umwelt und die Nerven des Kunden. Besser wäre es wenn die AGB und die Widerrufsbelehrung als PDF angehangen werden. Denn dann hat der Kunde die Wahl was er ausdrucken will. Er kann so die E-Mailrechnung ohne die AGB ausdrucken. Eine feine Sache und wenn man weiß wie, relativ schnell umgesetzt.

Step 1 – PDFs anhängen und automatisiert mitsenden.

Am besten lässt sich das am Ende der functions.php realisieren. Meine Empfehlung: Nutzt die functions.php Eures Child-Themes. Das erspart Euch unnötigen Ärger bei Updates.

Solltet Ihr das auch für andere E-Mails haben wollen (idr reicht es sie an die Bestellbestätigung anzuhängen), dann findet Ihr hier eine Übersicht wie alle anderen angesprochen werden:

  • new_order: E-Mails die der Systemadministrator des Shops erhält
  • customer_invoice: Kunden E-Mail (Rechnungszustellung)
  • customer_processing_order: Kunden E-Mail nach Aufgabe der Bestellung (Sollte aussreichen)
  • customer_completed_order: Kunden E-Mail, wenn der Shopadministrator die Bestellung als abgeschlossen markiert

 

Damit haben wir den ersten Step gelöst. Nun müssen wir woocommerce German Market nur noch beibringen, dass er nicht mehr auf die normalen Texte zurückgreift, da ja sonst die PDFs und die Texte innerhalb der E-Mail mitgeliefert werden.

Dafür müssen wir in die Datei WGM_Email.php im Ordner /wp-content/plugins/woocommerce-german-market/inc

Tipp: Versucht mal den folgenden Verzeichnisbaum in Eurem Child-Theme anzulegen und kopiert dort die WGM_Email.php rein. Wenn Ihr dann die Änderungen durchführt, sollte das Plugin dort zugreifen und diese Datei bevorzugen. Ist etwas Update-freundlicher. Also: /wp-content/dein-child-theme/woocommerce-german-market/inc/WGM_Email.php

Am Ende der Datei noch vor ?> fügen wir dann den folgenden Codeschnipsel ein:

Wie in den Beschreibungen könnt ihr alles mögliche deaktivieren. Wenn etwas davon erhalten bleiben soll, einfach mit // auskommentieren.

Ihr habt noch weitere Tipps für woocommerce, oder einen besseren Weg als Meinen gefunden? Ich freue mich über jeden Kommentar / Like / share zu diesem Thema.

Empfohlene Beiträge
Showing 6 comments
  • Lina
    Antworten

    Hi,
    ich würde die PDFs gerne im Root (also dort wo auch wp-admin, wp-includes und wp-content liegen) in einen Ordner namens „Media“ legen. Wie muss ich denn den Code abändern, damit er auf den Media-Ordner zugreift?
    Vielen Dank schonmal!

    • Jens Bayer
      Antworten

      Hallo Lina,

      dafür musst Du lediglich die Verzeichnissangaben in der functions.php anpassen.

      Also:
      Anstelle von: „$agb=get_template_directory().’/pdf/AGB.pdf‘;“
      Eher: „$agb=get_template_directory().‘../../media/pdf/AGB.pdf‘;“

      Mit „../“ gehst Du immer ein Verzeichiss zurück. Da wir Deine Verzeichnisstruktur nicht kennen empfehlen wir Dir das zu probieren und letztlich auch zu testen.

      LG Jens

  • Lina
    Antworten

    Hey Jens,
    vielen Dank für die Antwort. Irgendwie funktioniert das nicht. Meine Verzeichnisstruktur ist wie folgt, ich hoffe das versteht man so:

    Mein WordPress-Ordner
    1. MEDIA (hier liegen direkt die pdfs drin, ohne unterordner)
    2. wp-content > themes > childtheme > style.css
    3. wp-admin (hierfür unwichtig)
    4. wp-includes (hierfür unwichtig)

    Dann müsste ich vom stylesheet aus doch zwei Verzeichnisse zurück oder?!
    Also $agb = get_stylesheet_directory() . ‚../../media/AGB.pdf‘;
    Ich habs damit versucht und auch mal nur mit einem ../ oder auch mit 6x ../ Die Pdfs werden einfach nicht an die Mail angehängt.
    Wäre dir sehr dankbar wenn du mir weiterhelfen könntest!
    Vielen Dank schonmal!

    • Jens Bayer
      Antworten

      Hallo Lina,

      so wie Du es beschreibst sollte es problemlos möglich sein. Hast Du Dein MEDIA Verzeichnis wirklich groß geschrieben? Das würden wir aus unterschiedlichen Gründen nicht empfehlen. Wenn doch, dann bitte auch so in dem Codebeispiel verwenden.

      Wir empfehlen weiterhin das Beispiel 1:1 so nachzubauen, da man dann sichergehen kann das es mit der aktuellen Version des Plugins auch noch zu 100% so funktioniert. Seit der Veröffentlichung des Artikels ist schon einiges an Zeit und Updates des Plugins ins Land geflossen. Es kann sein, das sich die ein oder andere Funktion geändert hat. Wir setzen auch mittlerweile auf ein anderes Plugin, bei welchen wir diese Funktionen nicht umständlich dazu programmieren müssen.

      Solltest Du noch weitere Schwierigkeiten haben, kannst Du uns auch gern eine E-Mail schreiben und wir versuchen Dir so weiter zu helfen.

      LG Jens

  • Lina
    Antworten

    *sollte heißen „bis zu 6x, hab alles von 1-6 durchgespielt…

  • Lina
    Antworten

    nee das media verzeichnis ist klein geschrieben und ich hatte es auch im code kleingeschrieben…ich benutze auch kein WGM mehr aber da das Einbinden über den Code ja funktioniert hatte solange die dateien im childtheme lagen, dachte ich dass es bestimmt auch geht wenn das verzeichnis im wordpress root liegt. oder meinst du das funktioniert vll nur innerhalb des wp-content ordners? könnte man iwie etwas mit apsapth anfangen? weiß nur nicht wie ich den code dann entsprechend abändern müsste…
    Lg Lina

Hinterlasse einen Kommentar

Kontaktiere uns

Schreib uns einfach und unkompliziert. Wir melden uns schnellstmöglich bei Dir.

Nicht lesbar? Text ändern.

Gib hier Deine Frage ein und drücke dann Enter