Recentemente coloquei aqui no blog um botão na lateral que quando clicado carrega um post aleatoriamente. Este botão ajuda a melhorar o número de pageviews do blog, pois muitas pessoas que iriam sair da página acabam clicando para ver o resultado.
Pode ser que o conteúdo carregado não agrade o leitor, o que pode fazê-lo clicar novamente ou sair do blog mesmo assim. O fato é que este pequeno gesto está reduzindo a taxa de rejeição do blog consideravelmente.
Pois bem, se você tem um site que usa WordPress, veja como criar uma função capaz de direcionar o leitor para um post aleatório.
Abra o arquivo functions.php e adicione nele o seguinte código:
add_action('init','random_add_rewrite');
function random_add_rewrite() {
global $wp;
$wp->add_query_var('random');
add_rewrite_rule('random/?$', 'index.php?random=1', 'top');
}
add_action('template_redirect','random_template');
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;
}
}
Agora basta criar um botão ou ítem de menu e no link colocar o seguinte código:
<a href="<?php bloginfo('url'); ?>/?random=1">Post surpresa</a>
Agora é só testar, se tudo correu bem você será direcionado para um post aleatório cada vez que o link for clicado.
Nota: este código pode apresentar problemas de compatibilidade com o plugin W3 Total Cache e também com o Yoast’s WordPress SEO.
Dúvidas ou sugestões pode ser postadas nos comentários.
Tem algo para wordpress.COM?