WordPress 3 category aus der URL entfernen ohne Plugin

Bisher hatte ich bei WordPress 3.1  das Plugin WP No Category Base genutzt um das /category/ aus der URL zu entfernen. Bei WordPress  2.0 war es noch einfach ohne Plugin das /category/ aus der URL entfernen. Man setzte einfach in den Permalink-Option in „Kategorie-Basis“ ein ./ und schon wurde das /category/ aus der URL entfernt! Ab  WordPress 3 ging dieser Trick nicht mehr aber ein ähnlicher schon, ohne langsames WordPress Plugin.

Mit WordPress 3.0 ging der Trick nicht mehr und es musste ein neue Idee her. Fündig wurde ich mit dem Plugin WP No Category Base welches zuverlässig das /category/ aus der URL entfernte. Leider wurde meine Performance des Blogs durch das Plugin einwenig schlechter und so fragte ich Nadine von Nadine’s Schreibblog nach einer möglichen Lösung zum entfernen des /category/ aus der URL ohne WordPress Plugin! Ihre Antwort war ein „.“ Punkt.

Zitat Nadine:

Gehe in den Adminbereich unter Einstellungen Permalinks, dort gibst du bei Benutzerdefinierte Struktur: /%category%/%postname%  ein. Weiter unten unter Kategorie-Basis: einfach nur einen . (Punkt)

Wie gesagt um WordPress 3.0, 3.1.1 oder höher dazu zu bewegen das /category/ ohne Plugin aus der URL zu entfernen  muss man nur bei den Einstellungen unter Permalinks ”Benutzerdefinierte Struktur” auswählen dann /%category%/%postname% eingeben und weiter unten  bei “Kategorie-Basis” einfach einen . (Punkt) so wie auf dem Bild oben. Danach sollte bei WordPress 3 das /category/ aus der URL entfernt sein ohne WordPress Plugin.

Ich habe natürlich die Funktion getestet und unter Firefox 3.6, Firefox 4, Internet Explorer 8 und Opera 11.01 gab es keine Probleme!

Nachtrag: Achtung, es tauchte doch ein Problem auf und zwar bei den Archiven! Ich konnte nicht in die 2. oder 3. Seite des Archives wechseln. Es kam dann immer ein „Not Found“ Fehlermeldung! Die Fehlermeldung behebt man indem man folgendes in die functions.php der Theme schreibt:

<?php

/**

* NoCategoryBase (Unter Kategorie-Basis muss noch ein . gesetzt werden damit das category in der url entfernt wird!

*/

add_filter(‚request‘, ‚fix_pagination‘, 1);

function fix_pagination($query_vars){

if ($query_vars[„name“] == „page“)

{

unset($query_vars[„name“]);

$query_vars[‚paged‘] = str_replace(‚/‘, “, $query_vars[‚page‘]);

}

elseif ($query_vars[„name“] == „feed“)

{

unset($query_vars[„name“]);

$query_vars[‚feed‘] = ‚feed‘;

}

return $query_vars;

}

?>

Falls dein Browser den PHP-Code nicht richtig darstellt hier nochmal als TXT-Datei NoCategoryBase .

Eine wirkliche Performance-Verbesserung konnte ich dann aber ohne das Plugin WP No Category Base mit dem obigen Code auch nicht feststellen. Fast will ich meinen man lässt das Category in der URL oder schreibt unter Kategorie-Basis einfach irgend etwas hin wie zum Beispiel „blog“ da muss das Plugin oder WordPress das Category nicht wieder ausblenden. Performance-Unterschiede konnte ich zwischen beiden Lösungen nicht wirklich feststellen.

Über Daniel Birkhahn
Ich bin Daniel Birkhahn, jung, dynamisch, sozial engagiert, Orthographiemuffel, lieber Ehemann und Papa von 4 Kindern. Beruflich schlage ich mich als Altenpfleger durch und nebenbei beschäftige ich mich mit Technik, dem Web und alles was irgendwie hinterfragt werden kann!

6 Kommentare zu WordPress 3 category aus der URL entfernen ohne Plugin

  1. Nadine Schäfer | 11. April 2011 um 21:24 | Antworten

    Ui super, freut mich das es geklappt hat und ich dir helfen konnte, ich hoffe der Blog ist jetzt wieder schneller :)

  2. Nadine Schäfer | 12. April 2011 um 09:34 | Antworten

    Ich bin gespannt welche Plugins du so benutzt, mir ist der Aufwand zu groß die alle einzubauen statt einem Plugin, aber bis jetzt lahmt da noch nichts. Mal sehen was bei dir der Auslöser sein könnte.

  3. Hi,
    ich habe das gerade mit meinem Blog auch gemacht.

    Dazu noch 2 Anmerkungen:

    1) Der code in der functions.php muß zumindest im twenty10 Theme ganz oben stehen, sonst funkts nicht.
    2) Die alten category-urls sollte man dann auf die neuen weiterleiten, wegen den internen bzw. externen Links, da sgeht in der .htacces z.b. mit

    redirectpermanent /blog/category/allgemein http://www.deineurl.de/blog/allgemein

  4. Hi Daniel, der Tipp von dir und Nadine ist top.

    Aber…
    Ich hab parallel noch ein Plugin für die XML-Sitemap-Erstellung im Einsatz.
    In der sitemap.xml taucht dann blöderweise der Punkt mit auf: http://www.meine-url.de/./tolle-kategorie/

    Eine Idee, wie der da auch noch verschwinden könnte?

    Gruß Micha

    • Daniel Birkhahn | 6. Januar 2013 um 22:32 | Antworten

      Ich habe das Category bei mir in den URL´s jetzt mit drin weil ich da am wenigsten Aufwand hatte. Wenn es gar nicht geht hilft dir das Plugin WP No Category Base weiter. Mein Schwager hat das in seinem Blog installiert und das läuft auch unter WordPress 3.5 noch sehr gut! Wenn da steht nur bis Version 3.4.2 muss das noch nichts heißen. ;-)

2 Trackbacks & Pingbacks

  1. Neue, beliebte Wordpress Plugins 2011
  2. Monatsrückblick April 2011

Kommentar hinterlassen

E-Mail Adresse wird nicht veröffentlicht.


*


Diese Seite benutzt Cookies und Drittanbieter-Dienste um ein optimales Website-Erlebnis zu bieten. Wenn Sie auf dieser Webseite surfen, stimmen Sie der Verwendung von Cookies (also technischen, funktionalen und solche zu Analyse-Zwecken) bzw. Drittanbieter-Diensten zu und akzeptieren die Nutzungsbedingungen der Datenschutzerklärung. Detaillierte Informationen sind in der Datenschutzerklärung zu finden.