Das folgene Code-Snippet holt einen zufälligen WordPress Post aus der Datenbank und zeigt einen Link darauf an.
$post_id = $wpdb->get_var("SELECT ID FROM {$wpdb->posts} WHERE post_status = 'publish' AND post_type = 'post' AND post_date < = NOW() ORDER BY RAND() LIMIT 1"); printf('<a href="%s">%s', get_permalink($post_id), get_the_title($post_id)); |
Zufällige Ausgabe:
<a href="http://www.naden.de/blog/wordpress-random-post">Wordpress random Post</a> |
Man könnte auch gleich post_name und post_title aus der Datenbanktabelle auslesen, anstelle get_permalink() und get_the_title() aufzurufen, dann würde man aber alle Filter umgehen, die möglicherweise auf diese Werte angewendet werden.
Das kann der WP Loop auch ohne eigene SQL-Abfrage, so dass man den Standard nutzt, siehe Beitrag dazu.
@frank, dass stimmt! Ich möchte allerdings nicht immer das ganze Feuerwerk abbrennen, wenn es auch kurz und knackig geht.