Affiliate-Plugin für WordPress selbst programmieren – mit KI, Google Sheets & JSON
1. Wie Du mit KI Dein eigenes WordPress Plugin für Affiliate-Produkte programmierst
Warum ich mein eigenes Plugin geschrieben habe (und Du das auch kannst)
Kennst Du das? Du willst ein Produkt auf Deiner Seite einbinden – eigentlich eine einfache Aufgabe. Aber dann klickst Du Dich durch zig Einstellungen, öffnest fünf Tabs, wählst aus 20 Vorlagen und fragst Dich irgendwann: Warum ist das so kompliziert?
Genau so ging es mir. Ich nutzte vorher das Affiliate Toolkit – ein mächtiges Plugin, keine Frage. Aber es war zu viel. Zu unübersichtlich. Und vor allem: Zu weit weg von dem, was ich wirklich brauchte.
Ich wollte volle Kontrolle, ein schlankes Design und vor allem: Unabhängigkeit. Kein Plugin-Abo für 100 € im Jahr, keine Limitierungen. Nur ein einfaches System, das tut, was ich brauche: Produktdaten anzeigen – Bild, Titel, Button, fertig.
Also habe ich etwas gemacht, das ich mir früher nie zugetraut hätte: Ich habe mein eigenes Plugin programmiert. Und das Beste? Ich hatte keine Ahnung von PHP, JSON oder WordPress-Hooks – aber ich hatte ChatGPT.
In nur zwei Tagen entstand ein komplettes WordPress Plugin, das meine Produktdaten automatisiert aus einem Google Sheet lädt, als JSON-Datei speichert und per Shortcode flexibel darstellt. Ich nutze es täglich – auf mehreren Seiten. Es spart mir Zeit, Geld und Nerven. Und ich zeige Dir hier Schritt für Schritt, wie Du genau das auch schaffen kannst – egal ob Du Anfänger bist oder einfach keine Lust mehr auf Komplexität hast.
2. Was ist ein Affiliate Plugin – und warum selbst programmieren?
🧩 Was macht ein Affiliate Plugin eigentlich?
Ein Affiliate Plugin erweitert WordPress um die Möglichkeit, Partnerprodukte auf einfache Weise einzubinden. Oft übernimmt es die Kommunikation mit APIs (z. B. von Amazon oder Digistore24), erstellt Produktboxen, verwaltet Klicks und sorgt für hübsche Layouts.
Soweit die Theorie – doch in der Praxis sieht das oft anders aus: Viele Plugins sind überladen, kostenpflichtig, schwer verständlich oder zwingen Dich in starre Design-Vorgaben.
🤔 Warum ich mich gegen fertige Plugins entschieden habe
Ich hatte mit dem Affiliate Toolkit gearbeitet – ein starkes Tool, keine Frage. Aber ich wollte:
- Ein schlankes Design, das zu meiner Seite passt
- Eine einfache Produktpflege – ohne 6 Tabs offen zu haben
- Eine saubere Übersicht, welche Produkte gerade aktiv sind
- Keinen Schnickschnack, sondern nur Bild, Titel, Beschreibung & Button
Kurz: Ich wollte etwas, das mir die Arbeit vereinfacht, nicht erschwert.
🔧 Mein Lösungsansatz: Selbst bauen mit KI
Statt mich weiter über bestehende Lösungen zu ärgern, habe ich mir gesagt: Dann baue ich’s eben selbst. Und zwar genau so, wie ich es brauche. Das Ergebnis: Ein Plugin, das sich automatisch mit Daten aus einem Google Sheet füttert, eine JSON-Datei in die Mediathek schreibt und diese per Shortcode ausliest.
Heute brauche ich weniger als 30 Sekunden, um ein Produkt einzubinden. Keine Plugin-Abos. Keine Designprobleme. Volle Kontrolle.

3. Warum KI? So unterstützt Dich künstliche Intelligenz beim Coden
Wie ich (ohne Ahnung) ein eigenes Plugin geschrieben habe
Ich hatte keinen Plan von PHP. Hooks, Filter, WordPress-Standards? Keine Ahnung.
Aber ich hatte ChatGPT. Und so startete ich mit einer einfachen Frage:„Wie baue ich ein WordPress Plugin, das JSON-Daten anzeigt?“
Innerhalb von Minuten hatte ich eine Struktur, erste Code-Snippets und – noch wichtiger – ein Verständnis dafür, wie das alles zusammenhängt. Ich musste nichts googeln, keine Tutorials suchen, keine Foren durchforsten. Ich hatte einen Partner an meiner Seite, der jede Frage beantwortete – und mir sogar proaktiv Rückfragen stellte:
„Welche Daten brauchst Du genau? Was soll der Shortcode ausgeben? Soll ich dir den Code kommentieren?“
Das war der Moment, in dem ich wusste: Ich kann das. Und Du kannst das auch.
⚙️ So hat mir KI konkret geholfen
💡Vom Konzept zum Code
Ich habe der KI beschrieben, was ich vorhabe – z. B. „Ein Plugin, das eine JSON-Datei aus dem uploads-Ordner liest und daraus eine Produktbox erzeugt.“
→ Die Antwort: Ein kompletter Code-Vorschlag inkl. Kommentaren und Anpassungsideen.
🔁 Fehler beheben in Sekunden
Fehlermeldung in PHP? Ich habe sie kopiert, eingefügt – und sofort Vorschläge bekommen: Was der Fehler bedeutet, wo er im Code entsteht und wie ich ihn beheben kann.
🎯 Design & Funktion diskutieren
Ich habe Wünsche geäußert: „Ich will nur Bild, Titel, Button – keine Preisbox, kein Ranking.“
→ Die KI lieferte passende CSS-Vorschläge, HTML-Strukturen und sogar Varianten für Raster- oder Tabellenansichten.
🎤 Erfolgsstrategie: So holst Du das Maximum aus der KI raus
💬 Meine erfolgreichsten Prompts:
- „Welche Infos brauchst Du von mir, um XYZ umzusetzen?“
- „Was ist noch unklar? Stell mir bitte Rückfragen.“
- „Mach es so einfach wie möglich, aber mit sauberen WordPress-Standards.“
4. Die Grundstruktur meines Plugins – so funktioniert mein Setup wirklich
🧩 Der erste „echte“ Plugin-Ordner
Ich erinnere mich noch, wie ich meinen ersten Plugin-Ordner im Verzeichnis wp-content/plugins/ erstellt habe. Ich nannte ihn amazon-affiliate-box. Darin: meine Hauptdatei, ein paar Unterordner – und ein fettes Grinsen im Gesicht. Denn plötzlich war ich nicht mehr Nutzer eines Plugins, sondern der Entwickler. Alles begann mit einer einfachen Datei: amazon-affiliate-box.php.
⚙️ So funktioniert mein technischer Workflow im Detail
🧠 Google Sheets als Datenbank
- Alle Produkte liegen in einem Google Sheet – sauber strukturiert nach:
- ASIN
- Titel
- Beschreibung
- Kategorie
- Bild-URL
- Affiliate-Link

🐍 Amazon API + Python = Daten aktualisieren
- Ein lokales Python-Skript ruft regelmäßig die Amazon API auf.
- Es ergänzt automatisch Bild-URLs und Affiliate-Links im Sheet.
- Anschließend wird ein JSON-Export erzeugt und direkt per SFTP in den /wp-content/uploads/-Ordner auf meiner Seite geladen.
🗂️ Beispieldatei: affiliate-produkte.json
🔄 WordPress Plugin + Shortcode
- Das Plugin enthält einen Shortcode [amazon_aff_box id=“1″].
- Es liest die JSON-Datei, findet das Produkt mit der passenden ID oder ASIN und zeigt es als Box an:
- Bild
- Titel
- Beschreibung
- Button mit Affiliate-Link

📋 Liste: Meine Plugin-Dateien & ihre Funktion
| Datei | Funktion |
| amazon-affiliate-box.php | Hauptdatei mit Plugin-Header & Shortcode-Logik |
| template-aff-row.php | Template für Tabellen-Darstellung |
| klick-tracking.php | Optionales Tracking für Klicks auf Buttons |
| main.py | Python-Skript: API-Abfrage, JSON-Upload |
📥 Download: Mein WordPress Affiliate Plugin
Hier kannst Du die wichtigsten Dateien meines selbst entwickelten Affiliate-Plugins herunterladen:
⚠️ Hinweis: Diese Dateien stelle ich kostenlos zur Verfügung. Nutzung auf eigene Gefahr – ich übernehme keine Haftung für Fehler oder Schäden. Bitte teste das Plugin zuerst in einer lokalen oder Staging-Umgebung.
5. So planst Du Dein Plugin – Funktionen, Ziel und Nutzen
🎯 Warum ich auf alles verzichtet habe, was nicht nötig war
Als ich mein Plugin plante, habe ich mir eine einzige Frage gestellt:
„Was brauche ich wirklich – und was ist nur Ballast?“
Ich wollte keine Vergleiche, keine Buttons in 5 Farben, keine animierten Boxen mit Sternchen. Ich wollte Produkte darstellen – klar, schnell, funktional. Und das für mich, nicht für irgendein Universal-Setup. Diese Klarheit hat den Unterschied gemacht. Es ging nicht darum, alles zu können – sondern nur genau das, was ich wirklich brauche.
🧠 Zielsetzung – worum geht’s eigentlich?
💡 Mein Hauptziel
Ich wollte:
- keine fremde Datenbank
- keine komplizierte Bedienoberfläche
- keine manuelle Pflege von Produktdaten im WP-Admin
Stattdessen:
→ Datenpflege im Google Sheet, Ausgabe via Shortcode – alles automatisiert & kontrolliert.
🎯 Für wen ist das Plugin gedacht?
Primär für mich selbst – aber die Struktur ist so klar, dass ich es auch auf anderen Seiten nutze. Kein Setup nötig, einfach per JSON + Shortcode. Wenn Du weißt, wie Du eine Tabelle pflegst, kannst Du das Plugin nutzen.
📦 Die absoluten Must-Haves
- Shortcode mit ID/ASIN → zeigt Produktbox
- Templates für Einzelbox, Raster und Tabelle
- Klick-Tracking auf den Button (optional)
- Bild, Titel, Beschreibung, Button – fertig
✅ Liste: Warum „selber machen“ für mich besser war
| Punkt | Fertiges Plugin | Eigenentwicklung |
| Design-Kontrolle | Eingeschränkt | 100 % |
| Aufwand beim Produkt anlegen | Hoch | Minimal (via Sheet) |
| Ladezeit & Performance | Teilweise schwerfällig | Schnell & schlank |
| Preis | ca. 100 €/Jahr | 0 € |
| Technisches Verständnis nötig | Teilweise | Nur am Anfang – mit KI machbar |
6. So baust Du das Plugin Schritt für Schritt – Code & Praxis
🛠️ Von Null zur funktionierenden Box – in nur zwei Tagen
Ich begann mit einer simplen Idee: „Ich will ein Produkt aus einer JSON-Datei anzeigen.“
Was dann folgte, war ein Dialog mit ChatGPT. Ich erklärte, was ich brauche – die KI fragte zurück: „Wie sieht Deine JSON aus? Was soll genau angezeigt werden?“
Innerhalb weniger Stunden entstand der erste Prototyp. Zwei Tage später lief das Plugin live – komplett funktionsfähig. Ohne Googeln. Ohne StackOverflow. Nur mit KI.
👨💻 Der Weg zum eigenen Plugin – so hab ich’s gemacht
🧱 Schritt 1 – Plugin-Grundstruktur via ChatGPT
Frage an die KI:
„Wie sollte ich mein WordPress Plugin strukturieren, wenn ich eine JSON-Datei anzeigen will?“
Antwort:
- Hauptdatei: amazon-affiliate-box.php
- Templates: Für verschiedene Ausgabestile
- Optional: Tracking-Skript
- JSON-Datei über wp_upload_dir() laden
📂 Tipp: Plugin in /wp-content/plugins/amazon-affiliate-box/ speichern.
🧑🍳 Schritt 2 – Die Shortcode-Funktion
Mein Shortcode sieht so aus:
[amazon_aff_box id="1"]Die zugehörige PHP-Funktion lädt die JSON-Datei aus dem Uploads-Ordner, sucht die passende ID oder ASIN, und gibt ein HTML-Template zurück.
Je nach Parameter wird eine Einzelbox, ein Raster oder eine Tabelle angezeigt.
🧩 Code: Siehe Datei amazon-affiliate-box.php
🔁 Schritt 3 – JSON-Datei automatisch erzeugen & hochladen
Dafür sorgt mein Python-Skript main.py:
- Holt sich Produktdaten aus dem Google Sheet
- Ergänzt über Amazon API die fehlenden Infos (Bild, Preis, Link)
- Wandelt alles in eine JSON-Datei um
- Lädt diese via SFTP in /wp-content/uploads/
✅ Der Upload erfolgt automatisch – keine manuelle Dateiübertragung nötig.

![Screenshot mit Shortcode-Beispiel [amazon_aff_row ids="5,6,7,8,9,10"] für die Ausgabe mehrerer Produkte](https://judithfahlberg.com/wp-content/uploads/2025/09/shortcode-beispiel-affiliate-plugin.webp)
7. Tracking, Templates & Erweiterungen – so wird Dein Plugin richtig stark
📈 Als ich sah, wie oft wirklich geklickt wird
Ich wollte wissen: Welche Produkte werden überhaupt angeklickt? Also ergänzte ich mein Plugin um ein simples Tracking-Skript. Es zählt, wenn ein Nutzer auf den Button klickt – ganz ohne externe Tools. Das Ergebnis? Ich konnte sofort erkennen, welche Kategorien funktionieren, welche Box-Designs performen – und welche Produkte einfach ignoriert werden. Gamechanger!
🔍 Zusätzliche Funktionen, die echten Mehrwert bringen
🧩 Klick-Tracking selbst integriert
- Script: klick-tracking.php
- Funktion: Erfasst Klicks auf Buttons & speichert sie in einer einfachen Log-Datei oder Datenbank-Tabelle
- Optional: Anzeige von Klickzahlen oder Conversion-Wahrscheinlichkeit direkt neben dem Button
🧠 Vorteil: Keine Abhängigkeit von externen Tracking-Diensten

🧩 Mehrere Templates für flexible Ausgabe
Du kannst in Deinem Plugin verschiedene Ansichten definieren:
- Einzelprodukt – als kompakte Box
- Produkt-Raster – für Kategorien
- Produkt-Tabelle – für Vergleiche
Die Auswahl steuerst Du per Parameter im Shortcode:
[amazon_aff_row ids="1,2,3"]🔧 Template-Dateien:
- template-aff-row.php (Raster)
- template-aff-box.php (Box)
- template-aff-table.php (Tabelle)
📋 Erweiterungsmöglichkeiten für Dein Plugin
| Funktion | Beschreibung |
| Klick-Tracking | Misst, welche Produkte häufig angeklickt werden |
| Produktgruppen via Kategorie | Dynamische Anzeige nach Themen/Kategorien |
| Templates für versch. Layouts | Grid, Tabelle, Einzelbox – je nach Seite wählbar |
| Preishistorie (via Sheet) | Optional möglich durch weitere Spalten |
| Kombi mit Shortlink-Tracking | z. B. via Pretty Links, Matomo oder Redirects |
8. Fehler vermeiden & Sicherheit erhöhen – wichtige Hinweise aus der Praxis
⚠️ Als plötzlich gar nichts mehr ging
Ich hatte das Plugin fertig, alles lief – bis ich eine neue Produktkategorie im Sheet anlegte. Danach: Leere Seite. Kein Fehler. Nur weiß. Der berüchtigte White Screen of Death. Der Grund? Ein kleiner Syntaxfehler im JSON. Ich hatte ein Komma vergessen. Seitdem weiß ich: Kein Plugin ohne Prüfmechanismen.
🔐 Typische Stolperfallen – und wie Du sie elegant umgehst
🧪 JSON-Validierung ist Pflicht
Vor dem Parsen der Datei unbedingt prüfen:
$data = json_decode($json, true);
if (json_last_error() !== JSON_ERROR_NONE) {
return '<p>Fehler beim Einlesen der Produktdaten.</p>';
}💡 Tipp: Nutze https://jsonlint.com für manuelle Tests während der Entwicklung.
🛡️ Zugriffsschutz für Adminfunktionen
Wenn Du z. B. Tracking- oder Template-Verwaltung ins Backend integrierst:
if (!current_user_can('manage_options')) {
return;
}So stellst Du sicher, dass nur berechtigte Nutzer Zugriff haben.
📂 Pfade und Uploads sicher handhaben
Nutze immer wp_upload_dir() für Pfade – nie hart codierte URLs.
Und prüfe beim Laden der Datei, ob sie überhaupt existiert:
$upload_dir = wp_upload_dir();
$json_file = $upload_dir['basedir'] . '/affiliate-produkte.json';
if (!file_exists($json_file)) {
return '<p>Keine Produktdaten gefunden.</p>';
}📋 Liste: Weitere Sicherheitstipps
| Risiko | Lösung |
| Direktes Parsen von JSON | json_last_error() nutzen |
| Nicht-Admins greifen auf Backend zu | current_user_can() prüfen |
| HTML-Ausgabe unescaped | esc_html() & esc_url() verwenden |
| PHP-Dateien direkt editieren | Vorher lokal testen, nie im Live-Editor bearbeiten |
| Logikfehler im Sheet | KI kann helfen, Sheet-Logik zu überprüfen |
9. Mein persönlicher Workflow: Von der Idee bis zum Live-Gang
✨ „Ich will einfach nur Bild, Titel, Button – mehr nicht!“
Die Idee kam mir, als ich mal wieder ein Produkt in ein fertiges Affiliate Plugin einpflegen wollte. Ich hatte fünf Browser-Tabs offen, musste das Produktbild extra hochladen, Felder ausfüllen, Layout anpassen … und dachte mir: Warum mache ich das nicht einfach selbst?
Ein Google Sheet, ein bisschen Python, ein WordPress Plugin – und los.
🧠 Mein Setup – bewusst einfach gehalten
🔗 Datenhaltung in Google Sheets
Ich wollte kein Datenbankmonster. Also nutze ich einfach ein Sheet mit folgenden Spalten:
- ASIN
- Titel
- Beschreibung
- Bild-URL
- Affiliate-Link
- Kategorie
Einfach, übersichtlich, jederzeit bearbeitbar – sogar mobil.
🐍 Datenpflege & JSON mit Python
Mein Skript erledigt den Rest:
- Holt über die Amazon API Bild-URL und Link
- Ergänzt die Tabelle automatisch
- Exportiert als JSON
- Lädt per SFTP direkt nach /uploads auf meiner Website
Datei: main.py
🔧 Das Plugin – minimalistisch, aber wirkungsvoll
- Shortcode: [aff_box id=“XYZ“]
- Gibt Produktbox, Raster oder Tabelle aus
- Templates können erweitert oder gestylt werden
- Optional: Klick-Tracking inklusive
Ich nutze es aktuell auf mehreren Seiten und pflege dort wöchentlich neue Inhalte ein. Das Einbinden von Produkten dauert jetzt 10 Sekunden. Vorher: 3 Minuten.
⏱️ 💰 Mein Fazit zum Nutzen
| Kriterium | Vorher | Jetzt |
| Zeit pro Produkt | ca. 3 Minuten | ca. 10–30 Sekunden |
| Flexibilität | Eingeschränkt (Plugin-Vorgaben) | Vollständig steuerbar |
| Übersicht über Produkte | Keine | 100 % über das Sheet |
| Kosten | ca. 100 €/Jahr | 0 € – komplett Eigenbau |
| Lernkurve | Frustrierend | Extrem motivierend durch KI |
10. FAQ – Häufige Fragen zu Deinem KI‑gestützten WordPress Affiliate‑Plugin
1. Wie greife ich mit Python auf Google Sheets zu – besonders mit gspread?
Du kannst die Python-Bibliothek gspread nutzen—eine unkomplizierte Schnittstelle zur Google Sheets API. Damit lässt sich lesen, schreiben und automatisieren.
Dazu benötigst Du einen Service Account, dessen Mailadresse Du mit Lese-/Schreibrechten für Dein Sheet versiehst. Anschließend nutzt Du beispielsweise:
import gspread
gc = gspread.service_account(filename='credentials.json')
sh = gc.open_by_key('DEIN_SHEET_KEY')
worksheet = sh.sheet1
data = worksheet.get_all_records()2. Wie vermeidest Du API-Limitationen bei häufigem Sheet-Zugriff?
Verwende statt Einzellesezugriffen Batch‑Methoden wie get_all_records() oder batch_get() – so minimierst Du API-Aufrufe und verhinderst Rate‑Limits.
3. Kann man Google Sheets auch ohne Code in WordPress einbinden?
Ja, zum Beispiel mit Plugins wie FlexTable, das Sheets live als responsive Tabellen synchronisiert – inklusive Shortcode-Unterstützung, Sortier- und Suchfunktionen.
4. Wie erstellst Du ein FAQ‑Schema für bessere SEO?
Ein strukturierter FAQ‑Block verbessert die Auffindbarkeit im Netz. Dafür gibt es Plugins wie Ultimate FAQ Accordion, das automatisch FAQPage-Schema erzeugt, suchmaschinenfreundlich darstellen kann und FAQ-Einträge via Shortcode auf der Seite anzeigt.
5. Wie verpasst Du Deinem Workflow mehr Struktur & Automatisierung?
Tools wie n8n ermöglichen einen No‑Code-Transfer Deiner Sheets‑Daten in WordPress indem sie JSON‑Feeds automatisch verarbeiten. Ideal für Workflows ohne eigenes Python-Skript.
6. Wie kannst Du JSON aus Google Sheets weiterverwenden?
Wie schon in unserem Setup: Ein Python‑Skript exportiert das Sheet als JSON, dieser wird in die WordPress-Mediathek hochgeladen und anschließend per Shortcode vom Plugin ausgelesen. Dieses Vorgehen vermeidet Live‑API‑Aufrufe und hält Deine Seite performant und sicher.
11. Fazit: Du brauchst kein Plugin – Du bist das Plugin.
Du hast jetzt gesehen, wie aus einer Idee ein funktionierendes WordPress Plugin wurde – ganz ohne Vorkenntnisse in PHP oder WordPress-Entwicklung. Was es gebraucht hat? Eine klare Vision, ein bisschen Mut – und eine starke KI an der Seite.
Die Kombination aus Google Sheets, Python, JSON und einem schlanken Shortcode macht es möglich, komplexe Affiliate-Prozesse radikal zu vereinfachen. Du hast die volle Kontrolle über Inhalte, Design und Funktion – und das bei maximaler Effizienz.
Aber das Wichtigste: Du hast es selbst gebaut.
Und wenn Du das kannst, dann kannst Du noch viel mehr.
👉 Was hält Dich davon ab, Dein eigenes Plugin zu entwickeln?
Wenn Du Fragen hast, Unterstützung brauchst oder einfach Deine eigene Lösung teilen willst – ich freue mich auf Deinen Kommentar oder Deine Nachricht.
Teile den Beitrag gerne mit anderen Affiliate-Marketern – und zeig ihnen, wie viel Power in einem schlanken Plugin steckt.