WooCommerce – PDF-Anhänge für deine E-Mails schnell und einfach

WooCommerce E-Mail PDF-Anhang

WooCommerce ist das mit Abstand populärste Shop Plugin für WordPress und es gibt zahlreiche weitere Plugins, mit denen du deinen Shop an deine individuellen Bedürfnisse anpassen kannst.

Aber nicht immer ist es sinnvoll und notwendig, ein weiteres Plugin zu verwenden. Manchmal reichen auch ein paar Zeilen Code in der functions.php aus, um die gewünschte Funktionalität zu erreichen.

In diesem Beitrag möchte ich dir zeigen, wie schnell und einfach du ein PDF an deine automatisch von WooCommerce verschickten E-Mails anhängen kannst.

Bitte berücksichtige dabei, dass du bei solchen Anpassungen immer ein Child Theme verwenden solltest. Denn sonst läufst du Gefahr, dass bei einem Update deines Themes alle individuellen Code Anpassungen in der functions.php überschrieben werden und für immer verloren sind.

Der erste Schritt - Die Filterfunktion

WooCommerce stellt uns für das Anhängen einer Datei an eine E-Mail einen Filter zur Verfügung. Mit der dazu gehörigen Funktion können wir einen oder mehrere PDF-Anhänge einbinden.

Der WooCommerce Filter

Die Funktion stellt das Grundgerüst dar und hat bisher keinen Inhalt. Nur die Rückgabe mit return habe ich schon eingebunden. Diese und alle nachfolgenden Code-Beispiele gehören in dein functions.php.

Der zweite Schritt - E-Mail Anhang und Pfad bestimmen

Nun müssen wir mitteilen, um welchen Anhang es sich handelt und wo sich dieser befindet. Dies geschieht im nächsten Schritt.

Mit den markierten Zeilen 4 und 5 werden der Pfad für den Anhang sowie der Anhang selber festgelegt (Zeile 4). Dann wir diese den attachments hinzugefügt (Zeile 5).

Der Pfad führt zum Unterordner anhang im Verzeichnis des Child Themes.

Jetzt wollen wir noch einen 2. Anhang hinzufügen.

Der dritte Schritte - Einen weiteren Anhang hinzufügen

Dies ist nicht weiter schwierig. Wir setzen dies um, indem wir einfach die Code Zeilen 4 und 5 duplizieren und nur den Namen des Anhangs anpassen. Sollte sich dein zusätzlicher Anhang in einem anderen Verzeichnis befinden, musst du dies natürlich ebenso anpassen.

Der vierte Schritt - Die Anhänge gehören nicht in jede Nachricht

Vielleicht hast du auch schon festgestellt, dass die Funktion zwar tadellos funktioniert, aber deine Anhänge in jede E-Mail übernommen werden. Dies ist aber nicht immer erwünscht.

Auch diesbezüglich müssen wir zum Glück das Rad nicht neu erfinden. Hier hat WooCommerce ebenfalls vorgesorgt. Wir können nämlich definieren, zu welchem Zeitpunkt einer Bestellung die Anhänge implementiert werden sollen. WooCommerce unterscheidet folgende Zustände, auf die ich an dieser Stelle nicht näher eingehen möchte.

  • cancelled_order
  • customer_completed_order
  • customer_invoice
  • customer_new_account
  • customer_note
  • customer_on_hold_order
  • customer_processing_order
  • customer_reset_password
  • failed_order
  • new_order

Ich zeige lediglich exemplarisch, wie du diese abfragen kannst. Wir wählen hier den Zustand customer_completed_order, also den Abschluss einer Bestellung. Nur mit dieser Nachricht an deinen Kunden sollen die Anhänge mit eingebunden werden. Die Bestellbestätigung wird also ohne Anhang versendet.

Zu diesem Zweck haben wir unsere Anhänge in einen if-block gepackt (markierte Zeilen). Mit Hilfe der id und der Status Bezeichnung kannst du prüfen, ob der Status zutrifft oder nicht. Ist dies der Fall, werden die Anhänge mitgeschickt.

Der fünfte Schritt - Die Anhänge aus der WordPress Mediathek verwenden

Vielleicht hast du keine Lust, per Hand einen neuen Ordner in einem deiner Verzeichnisse per FTP zu erstellen, sondern du möchtest deine PDF-Anhänge über die WordPress Mediathek hochladen und verwenden. Hier ist die Vorgehensweise etwas anders.

Lade zu diesem Zweck erst einmal deine Anhänge in die Mediathek. Die Vorgehensweise dürfte dir bekannt sein und funktioniert wie jeder andere Upload in die Mediathek auch.

Wir können jetzt nicht wie oben beschrieben mit den Dateinamen arbeiten, sondern benötigen die ID der hochgeladenen Anhänge. Denn WordPress stellt uns für die Einbindung der Dateien eine Funktion zur Verfügung.

Um die ID zu bekommen, gehst du bitte in deine Mediathek und klickst auf die gewünschte Datei. Jetzt kannst du die ID in der Adresszeile deines Browsers ablesen.

ID von Mediathek Upload
ID von Mediathek Upload

In unserem Beispiel lautet die ID 22. Den zweiten Anhang habe ich auch hochgeladen, die ID für diesen lautet 23. Jetzt können wir unsere Funktion umschreiben:

Mit den markierten Zeilen 6 und 7 binden wir die Anhänge mit den IDs 22 und 23 ein.

Zusammenfassung

Wie du siehst, ist es nicht wirklich kompliziert, über wenige eigene Codezeilen E-Mail Anhänge für die WooCommerce E-Mails mit einzubinden. Auch gehen kleine Anpassungen recht schnell von der Hand. Ich hoffe, ich konnte dir damit ein wenig helfen und wünsche dir viel Freude bei der Umsetzung.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.