Da ich für mein Projekt WordPress nicht in seiner klassischen Form als Blog, sondern als CMS benutzen möchte, muß ich einige Anpassungen vornehmen.
Eine der wohl schwierigsten Sachen ist, dass ich den Spagat zwischen Seiten und Artikeln schaffen muß, um WordPress als CMS benutzen zu können. Da man das Navigationsmenü bei WordPress mittlerweile ja sehr komfortabel im Backend individuell erstellen kann, ist der erste Schritt schon einmal getan.
Da ich jede Überkategorie mit individuellem Text und Inhalt versehen möchte, habe ich Seiten als Navigationspunkte erstellt. Sprich: eine Seite bildet die “Hauptkategorie”, normale Kategorien mit Artikeln die Unterkategorie: Seite ==> Kategorie1 mit Artikeln, Kategorie2 mit Artikeln usw. .
Klickt ein User nun aber auf die Hauptkategorie, so gelangt er somit “nur” auf die Seite, welche ich mit Inhalten ganz normal bestücken kann. Allerdings fehlte mir hier die Möglichkeit, dynamische Inhalte auf dieser Übersicht auszugeben. Ich hätte also lediglich auf die Unterkategorien mit den aktuellen Artikeln verweisen können.
Da dies aber nicht in meinem Sinne war und ich die Seite zu einem Sammelpunkt der Artikel der jeweiligen Unterkategorie machen wollte, musste ich eine Möglichkeit schaffen, auf einer WordPress Seite Artikel aus definierbaren Kategorien als Teaser mit Bild darzustellen.
Um dies zu erreichen, muß man für jede Seite, welche einen Hauptpunkt der Navigation bildet, ein eigenens Template erstellen, welches man in das benutzte Theme hochlädt und bei der Bearbeitung einer Seite auswählt. Als Vorlage hierfür dient verständlicherweise die page.php des verwendeten Themes, da man ja sein Design beibehalten möchte.
Da ich das Arras Theme benütze, liegen dem hier angeführten Beispiel die Dateien dieses Themes zugrunde. Das Prinzip der vorzunehmenden Änderungen sollte aber bei allen Themes gleich sein.
Die page.php lädt man einfach per FTP herunter und öffnet diese in einem Editor – ich benutze Notepad++.
Zuerst muß man dafür sorgen, dass die page.php einen anderen Template Namen erhält, damit man diese anschließend im Backend auch leicht auswählen kann. Dies erreicht man, indem man direkt an oberster Stelle der .php Datei folgenden Code einfügt:
<?php
/*
Template Name: gewünschter Name
*/
?>
Im nächsten Schritt speichert man die Datei noch zusätzlich unter dem neuen Namen ab.
<!– here is a custom query to show “9″ post on the page template from all the categories –>
<h2> Neueste Artikel in der Rubrik Kultur</h2>
<ul>
<?php $the_query = new WP_Query(‘showposts=ANZAHL DER ANGEZEIGTEN ARTIKEL&cat= >ID DER ANZUZEIGENDEN KATEGORIEN durch Komma getrennt ‘);
while ($the_query->have_posts()):$the_query->the_post();
$do_not_duplicate = $post->ID; ?>
<li><div>
<a href=”<?php the_permalink() ?>”>
<?php echo arras_get_thumbnail($page_type . ‘-post-thumb’); ?>
<span><?php echo substr(get_the_title(), 0 , 45) ?></span></a></div><div>
<?php echo arras_strip_content( get_the_excerpt(), arras_get_option(‘node_based_limit_words’) ); ?>
</div>
</li>
<?php endwhile; ?>
<?php wp_reset_query(); ?>
</ul><!– end of the custom query –>
Diesen Code fügt man einfach an die Stelle des Templates ein, an dem man gerne die Darstellung der neuen Artikel aus den gewählten Kategorien hat. Ich habe den Code direkt unterhalb von
<?php the_content( __(‘<p>Read the rest of this entry »</p>’, ‘arras’) ); ?>
eingefügt, wodurch die neuen Artikel am Ende der Seite, unterhalb des eigentlichen Contents, angezeigt werden. Um die Anzahl und Auswahl der Kategorien, welche später auf der Seite ausgegeben werden zu bestimmen, ist folgender Code entscheidend:
<?php $the_query = new WP_Query(‘showposts=ANZAHL DER ANGEZEIGTEN ARTIKEL&cat= >ID DER ANZUZEIGENDEN KATEGORIEN durch Komma getrennt ‘);
“ANZAHL DER ANGEZEIGTEN ARTIKEL” ersetzt man einfach mit der gewünschten Zahl und “ID DER ANZUZEIGENDEN KATEGORIEN”, ersetzt man mit den IDs der auszugebenden Kategorien. Also z.B.:
<?php $the_query = new WP_Query(‘showposts=9&cat= >5, 6, 8′);
Hat man den Code angepasst, lädt man die Datei einfach in den Theme Folder hoch und erstellt nun eine Seite. Im Edit Modus der Seite findet man nun in der rechten Spalte das soeben erstellte Template wieder und wählt dieses aus.
Veröffentlicht man die Seite, sollte man schon die angeteaserten Artikel zu sehen bekommen. Diese sind wahrscheinlich noch ein wenig ungeordnet, da das CSS ja noch nicht erstellt wurde.
Eine Beispiel CSS wäre:
.holder .entry-thumbnails { clear:none; display:inline-block; height:120px; width:110px; margin-right: 1px;-moz-border-radius:8px 8px 8px 8px;}.holder .entry-thumbnails:hover {border-color:#383332;}.holder .entry-thumbnails-link {background-color:#FFFFFF;display:block;float:left;height:106px;text-decoration:none !important;width:110px;-moz-border-radius:8px 8px 8px 8px;border:2px solid #FFFFFF;}.holder .entry-thumbnails a img {margin: 2px;height:90px;width:105px;-moz-border-radius:8px 8px 8px 8px;} .holder {-moz-border-radius:10px 10px 10px 10px;background-color:#415A65;border-color:#FFFFFF;border-style:solid;border-width:2px;list-style: none outside none;margin:0;overflow:hidden;padding:0;width:600px;} .holder li {-moz-border-radius:8px 8px 8px 8px; border:1px solid #FFFFFF; float:left; font-size:12px; margin:8px 5px 8px 8px; padding:0; height: 110px; width: auto;}.holder .entry-meta { color:#030303; display:block; font-weight:bold; height:25px; margin:0px; width:110px; z-index:9999; text-align: center; font-size: 11px;}.holder .entry-summery { color:#FFFFFF; line-height:1.4em; margin:4px 1px 0 3px; float: left; max-width: 160px; max-height: 110px; vertical-align: top;}.holder .quick-read-more {line-height:1.5em;vertical-align:baseline;}.holder .quick-read-more { margin:5px 30px 0; float: right;}.holder .quick-read-more a:link, .holder .quick-read-more a:visited {-moz-border-radius:3px 3px 3px 3px;border:1px solid #FFFFFF;color:#000000;display:inline-block;font-size:11px;font-weight:700;margin:0;padding:3px 6px;text-decoration:none;}.holder .quick-read-more a:hover {background:none repeat scroll 0 0 #383332;color:#FFFFFF;}
Diese fügt Ihr Eurer user.css (beim Arras Theme) hinzu und schon sollten die Artikel ein wenig geordneter dargestellt werden.
Die CSS-Datei kann man nun einfach dem eigenen Design anpassen. Das Ergebnis sieht bei mir mit leicht abgeänderter CSS so aus:
Diese Lösung wurde von son_azules im Forum des Arras Themes bereit gestellt, wofür ich mich herzlich bedanke!
Plugin für die Darstellung von Kategorie-Artikeln auf einer Seite
Wer das alles relativ bequem und ohne Eingriffe in den Code erreichen möchte, der kann sich einfach das Plugin Postlists herunterladen und installieren. Dieses Plugin erledigt den Job genau so gut – allerdings ohne die Darstellung der Artikelbilder.

Danke, danach habe ich gesucht.
Allerdings überlege ich, deswegen einfach doch bei Joomla zu bleiben. WordPress ist IMHO wegen eben dieser “Hacks” einfach zu umständlich….
Danke.Genau das habe ich gesucht. Momentan steht bei mir ein ähnliches Projekt an, was wenn es fertig ist, ein Magazin weden soll. Ich möchte dafür Thesis nutzen. Geht das dort ähnlich? Auf meinem Magazin sollen Inhalte wie Testberichte, Tutorials usw. zu finden sein, die dann wohl den hier erwähnten Seiten entsprechen würden.