In WordPress lässt sich ein zufälliger Beitrag ohne zusätzliche Plugins ausgeben. So können ältere oder weniger sichtbare Inhalte regelmäßig hervorgehoben werden. Die Umsetzung erfolgt heute am besten über eine moderne WP_Query, da die frühere Methode query_posts() veraltet ist und nicht mehr empfohlen wird.
Zufallsbeitrag nur auf der Startseite ausgeben
Der folgende Code zeigt einen einzigen zufälligen Beitrag auf der WordPress-Startseite(is_front_page()). Er kann an einer beliebigen Stelle im Template eingefügt werden — zum Beispiel in front-page.php, index.php oder einem Blocktemplate (classic themes).
Beispielcode (WP_Query, 1 zufälliger Beitrag)
<?php if ( is_front_page() ) : ?>
<?php
$random_post = new WP_Query(array(
'posts_per_page' => 1,
'orderby' => 'rand'
));
?>
<?php if ( $random_post->have_posts() ) : ?>
<?php while ( $random_post->have_posts() ) : $random_post->the_post(); ?>
<h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
<?php the_excerpt(); ?>
<?php endwhile; ?>
<?php wp_reset_postdata(); ?>
<?php endif; ?>
<?php endif; ?>
Zufallsbeitrag auf allen Blogseiten anzeigen (Startseite + /page/2/, …)
Soll der Zufallsartikel nicht nur auf der Startseite, sondern auf allen Blog-Indizes erscheinen, wird die is_front_page()-Abfrage entfernt.
Code: zufälliger Beitrag auf allen Blogseiten
<?php
$random_post = new WP_Query(array(
'posts_per_page' => 1,
'orderby' => 'rand'
));
if ( $random_post->have_posts() ) :
while ( $random_post->have_posts() ) : $random_post->the_post(); ?>
<h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
<?php the_excerpt(); ?>
<?php endwhile;
wp_reset_postdata();
endif;
?>
Mehrere zufällige Beiträge anzeigen
Die Anzahl lässt sich einfach über posts_per_page steuern.
Beispiel: 5 zufällige Beiträge
$random_posts = new WP_Query(array(
'posts_per_page' => 5,
'orderby' => 'rand'
));Zufallsbeiträge mit einer statischen Startseite (front-page.php)
Wenn WordPress eine statische Seite als Startseite nutzt, wird im Theme die Datei front-page.php verwendet (falls vorhanden).
Vorgehen:
- front-page.php im aktiven Theme erstellen (falls nicht vorhanden).
- Den gesamten Code aus der bisherigen index.php übernehmen.
- Den Zufallsbeitrag-Code an gewünschter Stelle einfügen.
WordPress lädt front-page.php automatisch, sobald sie existiert — unabhängig von index.php.
Diese Methode eignet sich besonders, wenn Inhalte gemischt aus statischen Bereichen und dynamischen Zufallsbeiträgen bestehen sollen.