Como fazer um botão para Random Post no WordPress
Escrito por Gustavo Bordoni em Desenvolvimento, Wordpress no dia 27 de junho, 2009Se você já visitou o FailBlog, deve saber que o melhor recurso já feito para blogs de humor, é o Random Post, pois este possibilita olhar notícias de maneira randômica.
Bom vamos a parte de desenvolvimento do dito cujo, então primeiro vamos analisar uma busca ao banco de dados do WordPress:
SELECT guid FROM wp_posts WHERE post_type = 'post' AND post_status = 'publish' ORDER BY RAND() LIMIT 1
Agora iremos entender o porque de usar uma busca ao Banco de Dados e o que cada uma das partes desse código irá fazer. Iremos usa-la pois consome menos memória do servidor que o loop do WordPress, o que é muito bom para blogs grandes.
Entendendo o código de busca ao Banco de Dados:
SELECT guid– Ondeguidé apenas a coluna onde se encontra a URL do PostFROM wp_posts– Busca na tabela dos posts do blogWHERE post_type = 'post'– O WordPress salva na mesma tabela páginas, arquivos e posts, então estamos especificando que desejamos apenas PostsAND post_status = 'publish'– Apenas posts já publicados, nada de rascunhos ou posts agendadosORDER BY rand()– Bom temos que escolher de maneira randômicaLIMIT 1– Por fim limitamos para apenas 1 post
Agora passando para a parte do código PHP que irá receber a URL e fazer o botão. Segue o código e logo abaixo uma explanação do que acontece:
<?php
$randomPost = $wpdb->get_var("SELECT guid FROM $wpdb->posts WHERE post_type = 'post' AND post_status = 'publish' ORDER BY rand() LIMIT 1");
echo '<a href="'.$randomPost.'">Random Post</a>';
?>
Bom nome começo do código temos uma variável que irá receber o valor da URL que pegamos em nosso banco de dados, e agora passamos tal valor para o HTML, em uma âncora[<a href="">].
Caso você queira entender um pouco como funciona a relação do Banco de Dados do WordPress sugiro dar uma olhada na página do Codex.
Qualquer dúvida comente que eu irei responder, caso você adicione algo interessante ao artigo com certeza irei colocar créditos.
[ Via WpGuy ]

Gostei do tutorial
Obrigado Matheus! Elogios são ótimos feedbacks!