Alguma vez este num blog onde existia um botão para você clicar e acessar de imediato um artigo aleatório desse mesmo blog? Embora esta funcionalidade não seja útil para muitos blogueiros que escrevem conteúdo regularmente ou estão criando blogs profissionais para ganhar dinheiro, a verdade é que pode ser bastante útil para outros tipos de projetos, como por exemplo blogs de humor, tirinhas e outros assuntos intemporais. Quando bem utilizada, esta funcionalidade pode tornar a experiência de utilização do seu blog bem divertida para seus leitores.

O colega Otto desenvolveu uma função bem bacana durante o WordCamp Louisville, que permite precisamente você mostrar um URL aleatório para o seu usuário, e usufruir dessa oportunidade de mostrar conteúdo aleatório para seus leitores. O famoso blog de humor The Oatmeal utiliza uma funcionalidade dessas no seu blog, por exemplo:

oatmeal

Quando você clica em “Random” ele mostra um novo artigo/cartoon de forma completamente aleatória, mantendo o usuário preso no site e lendo novas postagens umas depois das outras. Este conceito quando utilizado da forma mais correta, é uma excelente oportunidade de manter seus usuários engajados no seu site.

Esta função utiliza um direccionamento 307 para redireccionamentos temporários, como mandam as regras da Otimização para Motores de Busca. O objetivo deste redireccionamento é para que os browsers não faça cache dos resultados do redireccionamento, tal como acontece com um redireccionamento 302.

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;
       }
}

Existem plugins para fazer este tipo de coisas, mas dada a simplicidade da função, é escusado você usar um plugin para fazer isso. Copie e cole o código acima para dentro do ficheiro functions.php do seu template e/ou utilize o código para criar um botão “aleatório” em seus sites e blogs, por exemplo.

Até Já!

Autor: Paulo Faustino

Blog do Autor | Artigos do Autor:

Fundador da Escola Dinheiro. É um empreendedor e blogueiro que dedica a sua vida à produção e partilha de conteúdos de grande qualidade, contando já com alguns dos mais reconhecidos blogs de Portugal e do Brasil.

Templates Wordpress que Recomendamos:

  • U-Design WordPress Theme
  • Tersus - Responsive WordPress Theme
  • Modernize - Flexibility of Wordpress
  • Good Space - Responsive Minimal WP Theme
  • Sterling - Responsive Wordpress Theme
  • Karma - Clean and Modern Wordpress Theme
  • Doover Premium WordPress Theme
  • MayaShop - A Flexible Responsive e-Commerce Theme
  • SmartStart WP - Responsive HTML5 Theme
  • Striking Premium Corporate & Portfolio WP Theme
  • Core Minimalist Photography Portfolio
  • King Size - fullscreen background WordPress theme

Gostou deste artigo? Então torne-se fã do Blog no Facebook!


JobRoller - Premium Job Board Theme

Comentários dos Alunos


  1. Jose Correia
    24.11.2011

    Olá Paulo. Ótimo artigo, fazendo isto com plugins só ocupava espaço.
    Muito bom mesmo. Abraços ;)

    Responder


  2. Fabio Anesio
    25.11.2011

    Muito interessante esse codigo :)
    Comecei a usa no meu blog.

    Parabéns pelo poster!

    Responder


  3. Rick
    25.11.2011

    Muito bom, não utilizei em projetos ainda, mas está nos favoritos! *–*

    Responder


  4. Jose Correia
    25.11.2011

    Olá mais uma vez Paulo.
    Lembra-se daquele artigo que escreveu sobre de como aumentar o upload de 2M para 64M, eu optei pelo ficheiro htacess e substitui 64M por 20M . Mas agora quando eu faço upload diz-me IO ERROR.
    Poderá me ajudar a resolver o problema ou alguém daqui.
    Aguardo respostas ;)

    Responder


    • Vitor Carvalho
      27.11.2011

      Olá José!

      Primeiro que tudo, retire do htaccess e coloque a versão do functions.php

      @ini_set( ‘upload_max_size’ , ’20M’ );
      @ini_set( ‘post_max_size’, ’20M’);
      @ini_set( ‘max_execution_time’, ’300′

      Se não resolver, poderão ser vários os problemas. Ficam aqui dois:

      1º Estás a funcionar em https em vez de http sem certificado válido?
      2º Algum plugin de gestão de downloads ou que modifique a galeria de media está ligado?

      Abraço.

      Responder


      • Jose
        29.11.2011

        Olá Vitor. Tentei esse código e nada aconteceu fica na mesma em 2M.
        Se me puder ajudar agradeço.
        Cumprimentos.

        Responder


  5. Vitor Carvalho
    27.11.2011

    Fantástico Paulo!
    Este é um óptimo script ;)

    Responder


  6. Conserto máquina
    01.12.2011

    Olá, agradeço o codigo, vou tentar usar! abraço.

    Responder

Comente o Artigo!

RSS
Twitter
Facebook
Comentários
ASSINANTES
SEGUIDORES
FÃS
COMENTÁRIOS
11485

Subscrever Newsletter
Subscreva a Newsletter:


Elegant Themes

Wix

Theme Forest

Mojo Themes



Assine a Escola Wordpress Assine a Newsletter da Escola Wordpress Escola Wordpress no Twitter Escola Wordpress no Facebook Escola Wordpress no Youtube Escola Wordpress no Google Buzz