Ja, natürlich hat Google selbst fast keine Antworten. Aber was Google findet wenn man es fragt ist immer wieder begeisternd.
Ich habe heute auf einen Blog eine Liste von Artikeln aus genau einer Kategorie auf genau eine Seite ausgeben wollen. Irgendwie habe ich dazu kein Plugin o.ä. gefunden. Aber siehe dank Google findet man jemanden der/die das gleiche Problem hat/hatten. Da WordPress sehr verbreitet ist eignet sich eine Suchmaschine wie Google hierbei sehr sehr sehr gut.
Ein paar Foren und Blogs durchsucht und das gefunden was mich zufrieden gestellt hat: txto.de / Statische Seite X zeigt Beiträge von Kategorie Y an
Die Anleitung hätte sogar mMn ein „leihe“ verstanden daher war es gut und schnell eingebunden.
Meinen endgültigen Code möchte ich euch natürlich auch nicht vorenthalten.
<?php
if(is_page('545')) { ?>
<h3>Interne Artikel</h3><?
$tmp_post = $post;
$tmp_posts = $posts;
$posts = get_posts('category=98');
if(count($posts)>0) {
?><ul><?php
foreach($posts as $post) :
setup_postdata($post);
?><li>Vom <?php the_date();
?> @ <?php the_time();
?>: <a href="<?php
ECHO 'http://m.sgr.cc/?p=' . $post->ID;
?>" rel="bookmark" title="Permanent Link: <?php
the_title(); ?>"><?php
the_title(); ?></a></li><?
endforeach;
$post = $tmp_post;
$posts = $tmp_posts; ?>
</ul><br /><?php
}
} ?>
ECHO 'http://m.sgr.cc/?p=' . $post->ID;
Eine kleine Verbesserung ist drin. Ersteinmal mein eigener Shortlinker, aber das ist natürlich Geschmackssache. Normal ist hier der Permanentlink schon richtig.
if(count($posts)>0) {
Die Zeile ist ganz sinnvoll um nicht so etwas machen zu müssen wie in dem oben genannten Blogeintrag steht.
<li></li></ul>
Das ist eine Sicherheitsangabe. Ohne diese leeren li zeigt der Validator sonst Fehler an, die ich nicht mag. Und das </ul> schließt mir die ungeordnete Liste.texto.de
Das wird durch dieses kleine if ersetzt. Jetzt habe ich in keinem Fall ein leeres ul oder li. Da ich die Ausgabe nur starte wenn überhaupt Posts in der Kategorie zu finden sind.
Für sogenannte Loop-Pages ist es Sinnvoll den Post sich zwischenzuspeichern und am ende zurückzusetzen. Da mein entsprechendes Template mit Loops arbeitet habe ich auch das eingebaut.
$tmp_post = $post;
$tmp_posts = $posts;
[...]
$post = $tmp_post;
$posts = $tmp_posts;
Viel Spaß damit… 🙂