Wie das Digital-Download-Feature aufgebaut ist
Bevor wir an Keys und Formulare gehen, das Gerüst im Kopf — sonst füllst du Felder aus, ohne zu wissen, was sie bewirken...
Bevor wir an Keys und Formulare gehen, das Gerüst im Kopf — sonst füllst du Felder aus, ohne zu wissen, was sie bewirken. Diese Lektion erklärt, was im Hintergrund passiert und welche drei Dinge das Theme für dich übernimmt.
Kein WooCommerce — bewusst
Im Foodblogliebe-Theme steckt kein WooCommerce. Kein Shop-Plugin, kein zusätzlicher Checkout, kein JavaScript-Warenkorb, keine zweite Produktdatenbank. Für ein einzelnes PDF oder eine Handvoll E-Books wäre das maßlos überdimensioniert — ein WooCommerce-Setup zieht meist fünf bis zehn weitere Plugins nach sich, die alle Updates und Kompatibilitätsprüfungen mitbringen.
Stattdessen macht das Theme drei Dinge, und nur diese drei:
- Es schickt die Käuferin serverseitig zu Stripe Checkout
- Es empfängt nach der Zahlung einen Webhook von Stripe zurück
- Es verschickt die bezahlte Datei als Anhang einer E-Mail
Keine Download-Links im Frontend, keine temporären URLs, keine Login-Bereiche, keine Accounts. Der Liefer-Weg ist die E-Mail — robust, weil sie im Postfach liegt, auch wenn die Käuferin die Danke-Seite versehentlich schließt oder das WLAN mitten im Ladevorgang ausfällt.
Der Kaufablauf auf einen Blick

Drei Punkte aus der Grafik, die später immer wiederkommen:
Stripe ist die Zahlungs-Stelle, nicht das Theme. Karte, SEPA und Apple Pay laufen komplett auf Stripe-Servern, deine WordPress-Installation sieht die Zahlungsdaten nie. Das spart dir jede PCI-Diskussion und jeden Datenschutz-Albtraum rund um gespeicherte Kartennummern.
Der Webhook ist die Rückmeldung. Ohne Webhook würde dein Blog nie erfahren, dass eine Zahlung wirklich geklappt hat. Wie du ihn sauber anlegst, klären wir in Lektion 04.
Die E-Mail ist der echte Lieferweg, nicht die Danke-Seite. Die Danke-Seite ist nur die Bestätigung im Browser. Wer das verwechselt, baut später unnötige Download-Buttons und diskutiert mit Käuferinnen darüber, warum der Link auf der Danke-Seite angeblich nicht funktioniert.
Die drei Admin-Tabs
Unter Design → Downloads landest du in der Admin-Oberfläche mit drei Tabs:
| Tab | Wofür | Was du dort machst |
|---|---|---|
| Einrichtung | Grundkonfiguration | Stripe-Keys, Webhook-Secret, Testmail, Einrichtungs-Checkliste |
| Produkte | Deine digitalen Produkte pflegen | Produkt anlegen mit Name, Slug, Preis-Anzeige, Stripe Price ID und Datei |
| Käufe | Verkäufe einsehen und E-Mails nachversenden | Liste aller Käufe, CSV-Export, Erneut-senden-Button |
Jedes Produkt hat nur fünf Felder: Name, Slug, Preis-Anzeige, Stripe Price ID und Attachment ID der Download-Datei. Kein Lagerbestand, keine Steuerklasse, keine Variationen, keine Bundle-Logik — das Theme ist bewusst auf digitale Einzelprodukte zugeschnitten.
Zwei Shortcodes, mehr brauchst du nicht
Das gesamte Frontend läuft über zwei Shortcodes.
[bap_buy product="slug"] setzt du dort, wo der Kauf-Button auftauchen soll — am Ende eines Blog-Posts, auf einer Verkaufsseite, in einer Sidebar. Der slug ist der Produkt-Slug aus dem Produkte-Tab. Das Theme baut daraus den Button und löst serverseitig den Stripe-Checkout aus.
[bap_download_thank_you] gehört auf genau eine einzige Seite, typischerweise unter /danke/. Dorthin leitet Stripe nach der Zahlung zurück. Der Shortcode zeigt die Bestätigung und einen Backup-Link, falls die E-Mail verzögert ankommt.
Der geschützte Upload-Ordner
Ein Punkt, der vom üblichen WordPress-Verhalten abweicht: Deine Download-Datei darf nicht in der normalen Mediathek liegen. Sie gehört in ein eigenes, geschütztes Verzeichnis unter wp-content/uploads/bap-downloads/.
Der Grund: Alles in der normalen Mediathek bekommt eine öffentlich erreichbare URL wie deinblog.de/wp-content/uploads/2026/04/feierabendrezepte.pdf. Für ein Rezeptbild ist das erwünscht, für ein bezahltes PDF wäre es das Ende des Geschäftsmodells, sobald die erste Käuferin den Link in einer Facebook-Gruppe teilt.
Der Ordner bap-downloads/ ist per .htaccess so abgeriegelt, dass ein direkter Aufruf nicht funktioniert. Das Theme liest die Datei serverseitig ein und hängt sie an die Kauf-E-Mail an, ohne je eine öffentliche URL zu erzeugen. In Lektion 03 zeige ich dir, wie du deine PDF korrekt dorthin lädst.
Was du jetzt vorbereiten kannst
Bevor du in Lektion 02 bei Stripe einsteigst, vier Punkte im Kopf abhaken:
- Ist deine Download-Datei fertig? Fertig layoutet, Korrektur gelesen, in der finalen Version.
- Hast du ein Stripe-Konto? Wenn nicht, leg es unter
stripe.coman. Zehn Minuten Registrierung, für den Testmodus reicht das sofort. - Verschickt dein WordPress zuverlässig E-Mails? Teste es mit einer Passwort-zurücksetzen-Anfrage. Kommt nichts an, brauchst du ein SMTP-Plugin (WP Mail SMTP oder Fluent SMTP), bevor Kauf-Mails zuverlässig rausgehen.
- Hast du eine Idee für deinen Produkt-Slug? Kurz, URL-tauglich, klein geschrieben —
feierabendrezepte,weihnachts-bundle.
Unser Tipp: Richte das SMTP-Plugin jetzt ein, nicht erst beim ersten fehlgeschlagenen Kauf. Wir sehen in der Agentur regelmäßig Blogs, bei denen Käuferinnen warten, während WordPress über die PHP-Standard-Mail-Funktion zu schicken versucht und der Hoster die Nachrichten stumm im Spam versenkt.
Wenn du den ganzen Einrichtungsteil lieber abgibst
Falls du nach dieser Lektion denkst „verstanden, aber machen mag ich's nicht selbst" — das ist der Moment, an dem unser Developer-Account-Angebot sinnvoll wird. Wir legen uns einmalig in deinem Stripe und WordPress an, richten Keys, Produkt, Webhook und Danke-Seite komplett ein und übergeben dir ein laufendes Setup. Von da an ergänzt du im Produkte-Tab nur noch neue Produkte — Keys und Webhook bleiben unangetastet. Schreib uns dafür kurz.
Für alle, die selbst einrichten, legen wir in der nächsten Lektion das Stripe-Konto auf.
Wenn du diese Lektion gelesen hast, markiere sie als abgeschlossen.
