30 Okt 2016
Die Post-Kategorie in die URL einfügen ist leicht, Bild: microble.eu

Die Post-Kategorie in die URL einfügen ist leicht, Bild: microble.eu

Das ist eine einfache Geschichte! WordPress bietet doch die passenden Mechanismen um die Post-Kategorie in der URL zu zeigen. Dazu muss ich doch nur die Permalinks anpassen.

Die Permalinks anpassen

Die Peramlink-Struktur von WordPress anpassen

Die Peramlink-Struktur von WordPress anpassen

Einfach rein in das Dashboard und links auf Einstellung > Permalinks geklickt, schon können wir die Anpassungen vornehmen.  Aber nur mit einem einfachen Klick ist es nicht getan, denn genau das Gesuchte ist nicht in der Standardliste enthalten. Also auf den letzten Punkt – Benutzerdefiniert – geklickt und dann im Eingabefeld /%category%/%postname%/ eingegeben. Noch auf Änderungen übernehmen geklickt. Schon sehen wir die Post-Kategorie in der URL.

Ja aber das ist genau was nicht wollte!

Denn eigentlich will ich die Post-Kategorie nur bei einer einzigen Kategorie in der URL sehen, sonst soll nur der Post-Titel als Permalink verwendet werden. Nehmen wir ein einfaches Beispiel:

Ich schreibe alle meine Posts brav in WordPress, aber ich habe eine Kategorie WordPress und eine Kategorie News. Und genau bei der News-Kategorie will ich das /blog/ in den Permalink eingefügt wird.

Also so zum Beispiel:
Grundlagen von WordPress in der Kategorie WordPress wird zu http://guru-20.info/grundlagen-wordpress/
Neue Version von  Textwrangler verfügbar in der Post-Kategorie News wird zu http://guru-20.info/news/neue-textwrangler-version/

Das geht aber nicht mit Hausmitteln von WordPress, dazu müssen wir ein wenig programmieren.

Die Post-Kategorie in den Permalink einfügen

Zu aller erst musst du dir ein Child-Theme anlegen. Wenn du das nicht machst und das Original-Theme änderst, gehen deine Änderungen beim nächsten Update verloren. Aber dies ist gar nicht schwierig. Wie du dir ein Child-Theme anlegst, habe ich bereits in einem anderen Beitrag Schritt für Schritt beschrieben.

Und jetzt können wir beginnen. Also die Finger aufgewärmt und die Datei functions.php in einem passenden Editor geöffnet. So nebenbei, ich verwende gerne Sublime Text zum Entwickeln. Als erstes müssen wird die Post-Kategorie in den Permalink einfügen. Dazu hängen wir am Ende der functions.php folgenden Code an.

Wichtig ist bei dem Code die Zeile #4, dort schreibst den Namen der Kategorie, welche betroffen ist hinein. Und in der 6. Zeile dein Teil der in den Permalink als Post-Kategorie eingefügt werden soll.
Damit klappt es aber noch nicht ganz. Denn WordPress ermittelt aus dem Permalink (wir nennen den Teil hinter dem Domänennamen auch Slug) verschiedene Werte für die Anzeige der Seite. Jetzt sind die Parameter aber „falsch“ und wir bekommen einen 404 – Seite nicht gefunden.
Ach ist doch gar nicht so schwer zu beheben.

Die Rewrite-Rules für die Post-Kategorie anpassen

Diese Regeln sind normalerweise in der Datei .htaccess gespeichert. Sie verändern die Darstellung der URL im Browser und noch vieles andere mehr. Aber das ist eine andere Geschichte. Aber einfach gesagt, sind sie für die hübsche Darstellung der URLs zuständig. Wir brauchen aber jetzt den umgekehrten Weg. Wir müssen es schaffen, dass die Post-Kategorie nur angezeigt wird, aber mit den Rewrite-Regeln diese intern wieder entfernt wird.

Da es zu unangenehm (und für Laien auch zu gefährlich) ist in der .htaccess-Datei herum zu schreiben fügen wir den folgenden Code am Ende der functions.php ein.

Auch hier gibt es eine wichtige Zeile, die Nummer 4. Hier steht der Teil der aus dem Permalink entfernt werden soll. Der muss genau gleich wie im vorherigen Code-Abschnitt in der Zeile 6 lauten.

Die neuen Permalinks aktivieren

Das meiste hast du jetzt aber geschafft. Aber zwei Kleinigkeiten sind noch zu erledigen. Als erstes musst du die Datei functions.php auf deinen Webserver in das Child-Theme übertragen. Und damit alles gut funktioniert, musst du nochmals in Einstellung > Permalinks gehen. Dort aktivierst du den letzten Punkt – Benutzerdefiniert. Gib im Eingabefeld dahinter /%postname%/ ein. Noch auf Änderungen übernehmen klicken, damit die Permalinkstruktur neuerstellt wird. Jetzt hast du die Post-Kategorie in der URL.

Und Du?

Ich freue mich über jeden Kommentar. Schreib ruhig wenn Du eine Frage oder einen zusätzlichen Tipp hast. Ich habe auch eine Frage: Hat dir dieser Post genützt und war er einfach genug, oder habe ich zu kompliziert geschrieben? Trau dich und schreib mir eine Antwort in den Kommentaren.

Tags: , , ,
0 Kommentare

Lass Deine Meinung da

Diskutiere mit!

Schreibe einen Kommentar

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