Exibindo a quantidade de comentários do tipo spam no WordPress

Uma das pestes para quem gerencia blogs são os spams em comentários. Atrapalham, enchem a paciência e nos fazem perder tempo moderando-os. No meu blog pessoal (onde uso WordPress como gerenciador), resolvi fazer um contador de spams. Como?
Nos templates do WordPress o desenvolvedor tem no contexto um objeto $wpdb, que abstrai o banco de dados do mesmo. Ele tem um método, get_results(), onde você pode fazer uma query SQL. No caso, ao invés de chamar a tabela pelo nome dela, podemos usar $wpdb->comments (esse atributo retorna o nome da tabela; vale a pena fazer dessa forma, pois com isso mantemos um certo desacoplamento). A coluna na tabela que marca o status de um comment é a comment_approved; spam é o status para comentários marcados como spam.

Então, o código é:

 <?php
    global $wpdb;
   $spamComments = $wpdb->get_results("SELECT * FROM " . $wpdb->comments . " WHERE  comment_approved="spam"");
   echo sizeof($spamComments);
?>

 No caso, eu poderia ter usado o COUNT do SQL – seria mais performático, inclusive – mas retirei esse código de uma implementação que fiz onde eu precisava da lista de comentários futuramente…

Plugin para meta-tags – WordPress

Como vocês já devem ter percebido, tenho feito alguns posts aqui no O Desenvolvedor sobre o WordPress. Tenho usado ele em algumas soluções para trabalhos freelas onde consigo adaptá-lo para ser um CMS de rápida instalação, fácil manutenção e barata hospedagem e disponibilidade e é relativamente flexível.

Uma das coisas que eu senti falta em todos os temas que baixei, era a presença das meta-tags description e keywords. Achei estranho, mas entendi o porque: os elementos básicos de postagem do WP, post e page, não possuem esses campos. Fiquei pensando em como fazer um workaround – ou como um colega do trabalho fala, um contorno técnico.
Mas, uma coisa que eu aprendi depois de deixar a progração desktop em C e partir para web, é que reinventar a roda toda vez não é preciso. E, logicamente, deveria haver algum plugin para isso.

Voi-lá. Eis que achei o Another WordPress Meta Plugin.

Estou usando ele em dois projetos pessoais: meu site próprio e no Eu Comi! (esse surgiu numa idéia/bate-papo com o @gserrano). Já notei uma certa diferença na indexação das páginas e afins.
*quer saber mais sobre a importância das meta-tags? No And After há uma série de posts a respeito:

Voltando ao plugin, ele segue o padrão de instalação de todos outros do WP: faça download, descompacte na pasta plugins, ative pela interface de admin e faça uma alteração no arquivo de cabeçalho do seu tema. Tudo bem explicadinho no how-to do site do projeto.
Tendo isso sendo feito, toda vez que você criar um post ou page, verá dois campos logo abaixo do editor de conteúdo: um chamado keywords, e o outro description. Sem segredos!
 

Utilizando o excerpt() no WordPress

O engine do Wordpress fornece uma função para mostrar uma espécie de resumo do seu post – chamado excerpt(). Essa função é muito útil para ser usada na página inicial ou no arquivo de posts, pois pode acontecer dessas páginas ficarem gigantes pois elas costumam listar 5, 10, etc… posts. Usando-a, você tem a opção de criar uma chamada para o seu post, colocando um link de "veja mais" no final.

 

Como funciona?

<?php if(is_category() || is_archive()) {
     
the_excerpt();
 } else {
     
the_content();
 } 
?>

 

Veja como utilizar a função excerpt() tanto nas versões antigas do WordPress quanto nas novas.

 

Você também pode alterar o comportamente da função excerpt().

Como gerar uma nuvem de tags no WordPress

O WordPress deve ser um dos sistema de publicação de blogs mais utilizados hoje em dia. Construir um sistema desses do zero tem, é claro, os seus benefícios – você deixa ele do jeitinho que você quer, o sistema fica otimizado para o que você precisa – mas para a maioria dos usuários, o interessante é gerar o conteúdo, e não recirar o gerenciador.

Em alguns casos, é bacana mudar os templates que você está utlizando, para deixá-los com a sua cara. Vou, de pouco em pouco aqui no O Desenvolvedor, dar umas dicas de como usar as funções nativas do WordPress; nada que uma busca no Google não resolva, mas quem sabe não ajuda o pessoal 😉

Para mostrar na sua página uma nuvem de tags (tagcloud), você pode usar a função wp_tag_cloud([params])
Tal função pega todos as tags que você utilizou nos seus posts e lista-as, dando tamanho diferente de fontes para cada tag dependendo do peso de cada uma.

Os parâmetros que podem ser utilizados são:

  • smallest – tamanho menor de fonte, 8 padrão
  • largest – tamanho maior de fonte, 22 padrão
  • unit – unidade de tamanho de fonte, pt como padrão
  • number – quantidade de tags, 45 padrão
  • format – como são mostradas as tags, flat (separadas por espaços) como padrão
  • orderby – como são ordenadas as tags, pelo nome como padrão
  • order – se ordena ascendentemente ou descendemente; ascendente (ASC) como padrão
  • exclude – se ecluí alguma tag
  • include – se inclui todas as tags

Exemplo de como incluir a tagcloud definindo quantidade de tags e como será ordenada:

<?php wp_tag_cloud(´number=30&orderby=count´); ?>

Documentação completa: http://codex.wordpress.org/Template_Tags/wp_tag_cloud