Página Inicial > Séries/Tutoriais, WordPress > Diferencie seu blog usando recursos do próprio WordPress

Diferencie seu blog usando recursos do próprio WordPress

Que o WordPress é um excelente gerenciador de conteúdo, todo mundo já sabe. Que é possível expandir as funcionalidades do WordPress utilizando plugins — e existem milhares deles por aí — todo mundo já cansou de saber.

Entretanto, nem sempre existe um plugin pronto para o que precisamos fazer, principalmente quando se trata de algo aparentemente simples, e quando existe a complicação envolvida é muito grande.

Nestes momentos, saber um mínimo de programação e do funcionamento do WordPress ajuda muito.

Eu tinha uma necessidade muito simples, mas que não encontrava em nenhum plugin pronto uma solução aceitável: eu queria produzir “olhos” (acho que assim que se chama, sou um zero à esquerda em tipografia), ou seja, aquelas caixinhas de texto com um trecho do texto principal em destaque. Tem plugin pra isso, mas usando “custom fields”, um horror de entender a mecânica, nem me animei a implementar. Além disso, eu queria que esses olhos fossem conteúdo adicional, complementar ao post, e não um mero destaque de um excerto. Ou seja, eles precisariam aparecer no feed também!

Escolhi resolver o problema utilizando shortcodes do WordPress, na verdade a mesma técnica já descrita em outro artigo de minha autoria: Monetize seus posts antigos no WordPress.

Assim, criei o shortcode que resolvi chamar de infobox, e que tem o seguinte formato.

[infobox]Texto que vai aparecer destacado[/infobox]

Simples, não?

O efeito visual pode ser conferido “ao vivo” na página Como funciona o GPS do Xperia X1, ou pela imagem abaixo (só da parte que interessa).

Screen shot 2009-12-03 at 18.24.08

Para obter o mesmo resultado em seus posts você só tem que inserir o seguinte código no arquivo style.css do seu tema.

.infobox {
float: right;
font-style: italic;
font-face: Arial;
margin: 12px 0 12px 9px;
border-left: 3px solid #c00;
padding-left: 5px;
width: 240px;
width: 35%;
padding: 4px 0 4px 8px;
font-size: 80%;
clear: right;
background-color: #ffffff;
}

E no arquivo functions.php do tema insira o seguinte código (antes do ?>, naturalmente).

// Meus shortcodes
function janio_infobox($atts, $content=''){
  if (!is_singular())
    return "<em>$content</em>";

  $before = "<div class="infobox">";
  $after = "</div>";

  return $before . $content . $after;
}

add_shortcode('infobox', 'janio_infobox');

O código realmente é muito simples e fala por si.

Primeiro criamos a função que vai interpretar o shortcode, e em seguida a registramos no WordPress.

A nossa funçãozinha então recebe o texto que está no shortcode, e verificamos se estamos numa página singular (um post ou uma página no site), pois não queremos correr o risco de bagunçar o layout da página incial, tampouco queremos deixar o feed bagunçado.

Então, se não for uma página singular, o código apenas o envolve numa tag de itálico (poderia ser um blockquote também), ou poderíamos fazer um return “” para fazer o infobox simplesmente sumir.

Caso seja uma página singular, o código cria a tag DIV com a classe CSS infobox, e retorna a tag inteira, com o conteúdo, para que o WP trate o conteúdo normalmente.

Quais os outros usos que você gostaria de ver para os shortcodes do WordPress? Os comentários são seus!

Posts relacionados

Janio Sarmento Séries/Tutoriais, WordPress , , , , , , , ,

Powered by WP Hashcash