rafaelmarin.net/lab


Estilizando comentários no WordPress

Última atualização: 13 de agosto de 2007

É muito fácil aplicar estilos distintos para comentários feitos no seu blog WordPress. Isso quer dizer que você pode aplicar diferentes estilos para os comentários feitos pelo autor do blog, pingbacks e trackbacks, entre outros.

Através de verificadores condicionais if do PHP, você pode facilmente estabelecer critérios para qualquer tipo de controle dentro do WordPress. Vejamos a seguir exemplos práticos.

Índice

1. Conhecendo as variáveis

Vamos determinar um critério para selecionar entre os comentários apenas aqueles feitos pelo autor, e então aplicar uma classe.

Mas antes de tudo, precisamos entender que a mágica ocorre dentro do arquivo comments.php do seu tema. Suponho que você possua este arquivo. Caso contrário, abra o arquivo do tema onde o código que exibe os comentários.

No arquivo comments.php, localize o loop de comentários seguinte:

<?php foreach($comments as $comment): ?>

Todo o código que verifica os critérios que você irá determinar posteriormente deve estar entre este loop.

As variáveis a seguir são as variáveis que pegam os resultados da consulta na tabela de comentários no banco de dados — dentro do loop, é claro:

Além disso, você poderá precisar de outras tags, como <?php comment_text(); ?>, que exibe o texto do comentário, entre outros.

DICA: Procure conhecer todas as template tags do WordPress. Elas são fundamentais quando você trabalha com o template do seu blog.

2. Estabelecendo condições

Agora que conhecemos as principais variáveis que utilizaremos, passemos à criação das condições para estilização dos comentários.

2.1. Destacando os comentários do autor

Criamos a seguinte condição: se o e-mail do comentário pertencer ao autor do blog, o script aplicará a classe autor ao comentário. E fazemos através do código:

<?php

if($comment->comment_author_email == 'email.do@autor.do.blog'):

echo '<div class="autor">';

endif;

?>

Após este código — que deve estar dentro do loop — é incluído o restante das tags do comentários. Lembre-se que você abriu um elemento div. Logo, não esqueça de fechá-lo:

<?php

if($comment->comment_author_email == 'email.do@autor.do.blog'):

echo '</div>';

endif;

?>

2.2. Destacando os trackbacks e pingbacks

A personalização de trackbacks e pingbacks é semelhante, então apenas altere trackback por pingback, de acordo com sua necessidade.

<?php

if($comment->comment_type == 'trackback'):

echo '<div class="trackback">';

endif;

?>

Após este código — que deve estar dentro do loop — é incluído o restante das tags do comentário. Lembre-se que você abriu um elemento div. Logo, não esqueça de fechá-lo:

<?php

if($comment->comment_type == 'trackback'):

echo '</div>';

endif;

?>

3. Exemplo de uso

Segue um exemplo completo e explicado (no arquivo comments.php):

\\ Loop dos comentários
<?php foreach($comments as $comment): ?>

\\ Verifica se o e-mail no comentário é do autor do blog
if($comment->comment_author_email == 'email.do@autor.do.blog'):

\\ Se verdadeiro, aplica a classe 'autor' ao comentário
echo '<div class="autor">';

\\ Fim da verificação
endif;

\\ Agora entram as Template Tags - abaixo em vermelho - do WordPress (veja na documentação do WordPress quais tags você pode usar)

<?php comment_author(); ?>

<?php comment_text(); ?>

\\ Verifica se o e-mail no comentário é do autor do blog
if($comment->comment_author_email == 'email.do@autor.do.blog'):

\\ Se verdadeiro, fecha a tag 'div' que foi aberta
echo '</div>';

\\ Fim da verificação
endif;

<?php endforeach; ?> \\ Fim do Loop

4. Considerações finais

Lembre-se que o que coloquei acima são só exemplos. Você pode estendê-los como quiser. Aproveite as Template Tags, elas estão aí para ajudar e tornar o seu blog muito mais flexível.