Ein ketzerischer Artikel, aber ich will es ausführlich erläutern: Ich bin kein Programmierer. Ich konnte mal ganz gut BASIC, habe sogar verstanden, wie POKE und PEEK funktionieren und gar einen Ewigen Kalender programmiert, bei dem ich heute staune, wie ich das hinbekommen habe. So viel der Grundzustand. Ich kann sonst vieles mehr oder weniger gut, aber eben nicht gut programmieren.
Nun habe ich mit PF-BITS seit 2017 ein Newsblog am Start, das immer noch prächtig funktioniert und bei dem ich vieles lerne. Über Journalismus und aber auch über WordPress. Eine bei Besuchern beliebte Funktion ist die Übersicht über Pforzheimer Mittagstische, die ich größtenteils vor nun acht Jahren entwickelt habe. Eine wilde Ansammlung von PHP-Scripten und Templates vor allem aber Low-Code in Form eines Plugins, das Programmieren mit Shortcodes ermöglichte.
Das Ergebnis funktionierte jahrelang bombensicher, kam aber nun an seine Grenzen. WordPress entwickelt sich weiter, das Plugin für den Low-Code-Programmbefehlesatz jedoch nicht mehr. Es musste also grundlegend etwas mit dieser Anwendung passieren. Man müsste sie neu programmieren. Man müsste. Darum schob ich dieses Thema jahrelang vor mich her.
Nun aber musste ich ran und meine ersten völlig schlechten Versuche, mit Codebeispielen ein eigenes Plugin zusammenzubauen (PHP-Code lesen kann ich immerhin), ist in etwa so erfolgreich gewesen, wie mit einem Maschinengewehr den Mond zu treffen. Es lief nicht. Ich kann mir aber auch keinen Programmierer leisten, der mindestens zehn Manntage an dem Thema werkeln dürfte.
In meiner Verzweiflung fing ich an, Google Gemini zu befragen. Erst mal ganz vorsichtig mit ganz einfachen Fragen zu WordPress-Funktionen, die Gemini jedoch beantwortete und vor allem die Antwort erklärte. Stück für Stück, strukturiert nach den Einzelschritten. Und das funktionierte.
Ich habe hier mal ein Beispiel, das sehr schön zeigt, wie es funktioniert:
Ich habe in WordPress eine eigene Custom Post Type namens „fasel“ erstellt, in der ich Postings erstellen kann. Ich möchte jetzt jedoch, dass diese Posts nicht unter der URL „/fasel“ erscheinen, sondern unterhalb eines Directorys, also „/bla/fasel/“. Wie mache ich das?
Verständnis des Problems:
Du hast in WordPress einen Custom Post Type „fasel“ erstellt und möchtest, dass die dazugehörigen Beiträge nicht unter der Standard-Archiv-URL
/fasel/
erreichbar sind, sondern unter einem spezifischen Pfad wie/bla/fasel/
.Lösung:
Dafür gibt es mehrere Möglichkeiten, die je nach deinen spezifischen Anforderungen und der Komplexität deiner WordPress-Installation variieren können.
1. Verwendung von Rewrite Rules:
- Prinzip: Rewrite Rules ermöglichen es, die URL-Struktur von WordPress anzupassen.
- Umsetzung:
PHP
- Funktion erstellen: Erstelle eine Funktion in deiner
functions.php
(oder einem Plugin), die die gewünschten Rewrite Rules definiert:function custom_post_type_rewrite_rules() { add_rewrite_rule('bla/fasel/([^/]+)/?$', 'index.php?post_type=fasel&name=$matches[1]', 'top'); } add_action('init', 'custom_post_type_rewrite_rules');
Verwende den Code mit Vorsicht.
- Erklärung:
bla/fasel/([^/]+)/?
definiert die URL-Struktur, wobei([^/]+)
einen beliebigen Zeichenkettenabschnitt (den Slug des Beitrags) fängt.index.php?post_type=fasel&name=$matches[1]
leitet die Anfrage an WordPress weiter, wobeipost_type=fasel
angibt, dass es sich um einen Beitrag vom Typ „fasel“ handelt undname=$matches[1]
den gefangenen Slug verwendet.- Flush Rewrite Rules: Nach dem Hinzufügen der Rewrite Rules musst du diese flushen, damit sie wirksam werden: PHP
flush_rewrite_rules(false);
Verwende den Code mit Vorsicht.2. Verwendung eines Plugins:
- Vorteil: Plugins bieten oft eine einfachere Konfiguration und können zusätzliche Funktionen bieten.
- Beispiel: Es gibt verschiedene Plugins, die Rewrite Rules vereinfachen. Ein beliebtes Beispiel ist das „Yoast SEO“ Plugin, das umfangreiche Optionen zur Anpassung der URL-Struktur bietet.
3. Verwendung eines Child Themes:
- Empfehlung: Wenn du dein Theme anpassen möchtest, ist ein Child Theme die sicherste Methode, um Änderungen vorzunehmen, ohne das ursprüngliche Theme zu überschreiben.
- Vorgehen: Erstelle ein Child Theme und füge die oben genannten Rewrite Rules in die
functions.php
des Child Themes ein.Zusätzliche Überlegungen:
- Permalinks: Stelle sicher, dass deine Permalinks auf eine geeignete Struktur eingestellt sind (z.B. „Postname“).
- Taxonomien: Wenn du Taxonomien für deinen Custom Post Type verwendest, musst du möglicherweise auch deren Rewrite Rules anpassen.
- Seitenvorlagen: Erstelle eine benutzerdefinierte Seitenvorlage für deinen Custom Post Type, um das Aussehen der Beiträge unter der neuen URL zu kontrollieren.
Wichtig:
- Testen: Teste die Änderungen gründlich, um sicherzustellen, dass alles wie erwartet funktioniert.
- Backup: Erstelle ein Backup deiner WordPress-Installation, bevor du Änderungen an der
functions.php
vornimmst.Weitere Anpassungen:
- 404-Fehler: Stelle sicher, dass 404-Fehler korrekt behandelt werden, wenn Benutzer versuchen, auf alte URLs zuzugreifen.
- Suchmaschinen: Informiere Suchmaschinen über die neuen URLs mithilfe eines Sitemap-Plugins oder der Google Search Console.
Zusätzliche Hinweise:
- Flexibilität: Rewrite Rules bieten eine hohe Flexibilität bei der Anpassung der URL-Struktur.
- Komplexität: Je komplexer deine Anforderungen sind, desto komplexer können die Rewrite Rules werden.
- Plugins: Plugins können die Umsetzung vereinfachen, aber auch zu Konflikten mit anderen Plugins führen.
Individueller Ansatz:
Die beste Lösung hängt von deinen spezifischen Anforderungen und deinem technischen Know-how ab. Experimentiere mit den verschiedenen Optionen und finde die für dich passende Lösung.
Brauchst du weitere Hilfe? Wenn du weitere Fragen hast oder spezifischere Anpassungen vornehmen möchtest, stehe ich dir gerne zur Verfügung. Bitte gib mir dazu weitere Details zu deiner WordPress-Installation und deinen Anforderungen.
Nun sind zwei Monate vergangen und die Mittagstischanwendung ist praktisch komplett refaktoriert in einem eigenen Plugin, mit aktuellem PHP-Code, schön strukturiert nach Modulen. Wiederum habe ich viel gelernt, nun aber über kein abstraktes Buch, sondern, so wie in diesem Beispiel hier, von einer KI gut erklärt und zwar so, dass ich es als Noobie auch verstehe. Und ich kann nachfragen, nacharbeiten, mir Beispiele suchen lassen. Selbst Übersetzungen von altem Code macht Gemini so, dass dabei auch etwas herauskommt.
Programmieren ist nun trotzdem kein Job, den man einfach mal automatisch machen lassen kann. Eine Programmstruktur muss man sich zu einer Problemlösung weiterhin einfallen lassen. Aber mit einer KI im Hintergrund wird es eben auch für Noobies möglich, komplexe Dinge zu machen, die am Ende dann mit etwas Geschick auch funktionieren.
Schreibe einen Kommentar