Get Adobe Flash playerPlugin by wpburn.com wordpress themes

Manchmal kann es vorkommen, dass man innerhalb eines Blogs mehrere Blogs aufbauen möchte. Ein Beispiel: innerhalb des Kasi-Blogs gibt es ab sofort die Unterkategorie Echologist, die sich mit Social Networks befassen soll (bald wird hoffentlich auch die Domain www.echologist.com auf diese Kategorie umgestellt sein).

Die Artikel in dieser Kategorie sollen dort und nur dort erscheinen, aber generell noch im gesamten Kasi-Blog suchbar sein. Dadurch gilt für das neue (Unter-)Blog der Pagerank des alten Blogs und Links auf das neue (Unter-)Blog werden auch für das alte Blog gezählt werden.

Um das zu bewerkstelligen, muss man als erstes Permalinks aktivieren. Wie das geht, erfährt man bei Segert oder Vi-Su. Die URL sieht dann so aus (oder so ähnlich, denn es gibt noch viele andere Einstellungen):

http://www.karsten-wenzlaff.de/category/echologist/

Nun möchte man, dass Artikel in dieser Kategorie nicht im Main-Loop, also auf der ersten Seite, erscheinen, denn die Blogs sollen ja getrennt sein. Ursprünglich gab es dafür das Plug-In Category Visibility (CV) von Keith McDuffee für Wordpress 1.5, ein Update von Richard Hamilton für Wordpress 2.0. Für Wordpress 2.2 scheint es Probleme zu geben. Eine andere Möglichkeit ist der Ultimate Category Excluder (UCE) für Wordpress 2.1. Ich habe beide Plug-Ins mit Wordpress 2.2.2 getestet, sie haben beide gut funktioniert. UCE ist für den Anfänger einfacher zu bedienen, CV ist umfangreicher, da man damit auch Kategorien für bestimmte Nutzergruppen ausschließen kann. Dies ist praktisch, wenn man bei Blogs mit vielen Nutzern interne Kategorien definieren möchte. Mit einem der beiden Plug-Ins schließt man, wenn man das möchte, die zu isolierende Kategorie vom Main-Loop aus.

Nun geht es daran, das Design zu ändern, wenn man auf die Unterkategorie klickt. Unter Wordpress ist das ziemlich einfach, denn man kann für jede Kategorie ein eigenes Template definieren.

Ausführlich beschrieben ist das im Wordpress-Codex, aber ich will das nochmal hier erläutern. Wenn bei Wordpress zum Beispiel die Kategorie mit der Nummer 6 aufgerufen wird, dann schaut sucht Wordpress in dieser Reihenfolge nach den folgenden Dateien:

<ol>
  <li>category-6.php</li>
  <li>category.php</li>
  <li>archive.php</li>
  <li>index.php </li>
</ol>

Ist also keine kategorienspezifische Datei da, schaut Wordpress, ob generell für Kategorien besondere Anweisungen, oder generell für Archive besondere Anweisungen abgelegt sind. Erst dann lädt er die Index-Datei, also die Startseite. Dies ist der Fall, wenn es die Kategorie nicht (mehr) gibt.

Dies bietet eine Menge Möglichkeiten und viele Wordpress-Themen nutzen diese auch fleißig, denn für die Archive als auch für die Kategorien sind meist spezielle Formatierungen vorhanden.

Für die sechste Kategorie soll nun ein besonderes Layout ausgegeben werden. Der Einfachheit halber soll einfach ein andere Titel und im Untertitel im Header stehen. Zuerst kopiere ich mir die Datei index.php und benenne sie in category-6.php.

Normalerweise findet sich dort der folgende Code:

<?php get_header(); ?>

Hier holt sich Wordpress die Informationen aus der Datei header.php in Verzeichnis des Themas. Man muss dies ändern in folgenden Code:

Templatepath ist eine Konstante bei Wordpress, die automatisch den Pfad des aktuellen Themas zurückgibt, man muß hier also nichts verändern.

Allerdings sucht Wordpress jetzt die Datei header6.php, die es ja noch nicht gibt. Dazu kopiert man sich die Datei header.php und benennt sie entsprechend um.

Wichtig ist dieser Code:

<div id="header">
  <h1><a href="<?php echo get_settings('home'); ?>"><?php bloginfo('name'); ?></a></h1>
  <div class="description"><?php bloginfo('description'); ?></div>

Der muß an einigen Stellen abgeändert werden. Wer wissen möchte, was alles im Header steht, wird beim Webworkblog fündig. Ändern muß man wie folgt:

<div id="header">
  <h1><a href="<?php echo get_settings('home'); ?>/category/echologist/">TITLE</a></h1>
  <div class="description">SUBTITLE</div>

Die erste Änderung ist im Link angegeben: wenn man auf den Titel klickt, möchte man natürlich nicht wieder im alten Blog landen, sondern nach Möglichkeit im neuen Blog. Man muss daher die jeweilige Kategorie (in diesem Fall echologist) wie folgt /category/echologist/ nach dem get_echo-Befehl eintragen. Schön ist das auch auf der Netzspielwiese beschrieben.

Die zweite Änderung ist, dass man den PHP-Befehl bloginfo komplett rausnehmen muss und seine eigenen TITLE und SUBTITLE einfügen muss. Jetzt nur noch beide neuen Dateien in das Template-Verzeichnis ablegen und schon müßte es funktionieren.

Danke an Robin Hastings und Jan Kellermann für die Hilfestellung! Die nächsten Teile werden sich dann damit befassen, wie die Sidebar und die RSS-Feeds auf das neue (Unter-)Blog umgestellt werden.

Ähnliche Artikel:

Ihren XING-Kontakten zeigen
Ihr Kommentar

blogoscoop