Em alguns formatos de blog um botão que chama posts aleatórios é interessante para manter o leitor mais tempo na sua “casa”. Blogs de fotografia, ou com ilustrações, onde o conteúdo pode ser visto sem ordem definida, são bons exemplos. Ou ainda no final dos artigos, quando a leitura já tiver terminado e o visitante não sabe pra onde ir.
Tem um jeito de fazer isso usando PHP e uma pequena função no seu blog WordPress. Tudo que vai precisar é editar – ou criar, em caso de temas muito simples que não tenham ainda – o arquivo functions.php, colocando lá a função. Depois é só chamar a função no botão – com um link.
Comece abrindo o functions.php, que fica na pasta-raíz do seu blog WordPress (lembrando que você só tem acesso a esse arquivo se usar o WordPress com instalação própria; não serve no WordPress.com).
Insira essa função no final, antes do sinal ?> (se existir).
//função para post aleatório function random_post() { global $wp; $wp->add_query_var('random'); add_rewrite_rule('random/?$', 'index.php?random=1', 'top'); } function random_template() { if (get_query_var('random') == 1) { $posts = get_posts('post_type=post&orderby=rand&numberposts=1'); foreach($posts as $post) { $link = get_permalink($post); } wp_redirect($link,307); exit; } } add_action('init','random_post'); add_action('template_redirect','random_template');
Salve, mande pro servidor (se já não editou o que está lá). Agora é só colocar o link onde quiser dentro do template, nesse formato:
<a href="<?php bloginfo('url'); ?>/?random=1">Post aleatório</a>
Só!