O conteúdo dentro do WordPress é estruturado essencialmente em publicações (posts, páginas, etc), taxonomias (categorias, tags, etc) e comentários. Os usuários, as pessoas que atuam no sistema, também possuem papel fundamental na utilização do sistema.

A exposição de todos esses elementos para o visitante do site, bem como as estatísticas/os números do projeto, pode vir a ser uma estratégia interessante de transparência, marketing, vendas e outras ações que você queira fazer uso dessas métricas.

Apresente informações relevantes sobre o conteúdo do site de maneira simples e direta através de códigos a serem implementados dentro do Tema.

Quantidade de posts

Em sites voltados a produção de conteúdo, uma técnica interessante de mostrar o trabalho realizado para os visitantes é mostrar na tela inicial ou em qualquer outro local do tema, a quantidade de publicações existentes no WordPress.

Para mostrar quantas publicações do tipo post foram publicadas, use o código:

$c = wp_count_posts();
printf( 'Total de %d posts no site', $c->publish );

Usando ainda a função wp_count_posts, você também consegue evidenciar a quantidade de publicações de outros tipos de post; veja como fica o mesmo código, porém para contabilizar as páginas do site:

$c = wp_count_posts( 'page' );
printf( 'Total de %d páginas no site', $c->publish );

Da mesma forma, informe como parâmetro qualquer outro custom post type e obtenha o resultado para o respectivo tipo personalizado de post. No caso dos arquivos anexos, da biblioteca do WordPress, ao invés de exibir a quantidade de resultados publicados, você deve usar:

$c = wp_count_posts( 'attachment' );
printf( 'Total de %d arquivos na biblioteca', $c->inherit );

Note que a função wp_count_posts retorna a quantidade de resultados por status do post. Logo você tem, além dos status publish e inherit vistos acima; future (agendados), draft (rascunhos), pending (pendentes), private (privados), trash (na lixeira) e auto-draft (rascunho automático).

Contador de visualizações de posts (sem plugin)

Solução simples para contabilizar acessos aos posts utilizando a tabela wp_postmeta. A lógica do recurso é armazenar o número de visualizações do post em um meta dado, um registro da tabela meta. E a cada acesso ao post, esse registro é recuperado e incrementado em 1, pois se trata da visualização em questão.

Para fazer isso, em um primeiro momento, crie uma ação para verificar se o acesso feito é referente a um post. Caso seja, contabilize o acesso incrementado o valor do meta dado.

<?php 
// logo após o WordPress ter sido carregado
add_action( 'wp', 'set_post_views' );
function set_post_views() {
    // executa apenas na consulta principal de um post único
    if ( is_main_query() && is_single() ) {
        global $post;
        $key = 'counter';
        $counter = (int) get_post_meta( $post->ID, $key, true );
        update_post_meta( $post->ID, $key, $counter+1 );
    }
}

Em seguida, para recuperar a quantidade de acessos da publicação, basta utilizar a função get_post_meta.

get_post_meta( $post->ID, 'counter', true );

A partir desse recurso você consegue contabilizar também visitas únicas, criar uma tabela de log para cada acesso a fim de obter mais dados dos seus visitantes, enfim, uma série de incrementos que podem ser aplicados de acordo com as demandas do seu projeto.

Quantidade de categorias, tags e taxonomias

A organização do conteúdo dentro do WordPress é feita basicamente por tipos de posts e taxonomias. O uso das categorias e tags, padrão aos posts, assim como de taxonomias personalizadas para qualquer outro tipo de post personalizado ou não; é uma poderosa ferramenta para manter a ordem e priorizar as informações dentro do site.

Pensando em estabelecer prioridades aos conteúdos com base nas taxonomias, você pode fazer isso ao exibir dentro do seu Tema WordPress, quantas vezes cada taxonomia foi utilizada; evidenciando assim os assuntos mais frequentemente discutidos pelo site.

A quantidade de vezes que uma categoria foi empregada junto a algum post pode ser obtida através do código:

$t = get_term( 1 );
printf( '%s (%d)', $t->name, $t->count );

Você precisa primeiro obter o objeto da classe WP_Term (acima foi feito através da função get_term) e em seguida exibir o atributo count, demonstrando assim quantas vezes o referido termo foi empregado em algum post. Funciona para termos de qualquer taxonomia.

Outra prática que você pode adotar para fins estatísticos é mostrar aos visitantes a quantidade de categorias, tags e demais taxonomias que estão cadastradas no WordPress.

$c = wp_count_terms( 'category' );
printf( '%d categorias', $c );

Da mesma forma, para obter a quantidade de qualquer outra taxonomia, basta trocar o parâmetro para a taxonomia desejada. Veja como fica o exemplo para obter a quantidade de tags no WordPress:

$c = wp_count_terms( 'post_tag' );
printf( '%d categorias', $c );

Quantidade de comentários

Uma boa técnica para demonstrar o alto índice de interação de um site é exibir a quantidade de comentários que ele possui. Em um tema que faz uso do recurso de Comentários nativo do WordPress o uso desse recurso pode ser obtido facilmente através do uso de uma única função.

Esse código faz parte da série de snippets “Estatísticas do site”. Trata-se de mostrar informações relevantes sobre o conteúdo do site de maneira simples dentro do Tema.

Para mostrar quantos comentários foram publicados no site, use o código:

$c = wp_count_comments();
printf( '%d comentários publicados no site', $c->approved );

Você também pode obter a quantidade de resultados de uma única publicação (independente do tipo de post) passando o identificador como parâmetro da função wp_count_comments:

$c = wp_count_comments( 1 );
printf( '%d comentários no post', $c->approved );

Repare que ao exibir a informação dos comentários no site, está sendo mostrada a quantidade de comentários publicados com o atributo approved. No entanto você também pode exibir a quantidade de comentários aguardando moderação (moderated), marcados como SPAM (spam), na lixeira (trash), de posts que estão na lixeira (post-trashed), todos os comentários incluindo spam (total_comments) e todos os comentários aprovados ou não, mas sem spam (all).

Exibir quantidade de comentários como texto

Através da função comments_number, o WordPress permite formatar a exibição de strings personalizadas de acordo com a quantidade de comentários existentes em um post; seja nenhum, um ou mais comentários.

comments_number( 'Nenhum comentário', 'Um comentário', '% comentários' );

Para representar a quantidade de comentários no plural é utilizado o caracter %, o que retornaria 2, 3, 4 ou qualquer outro número específico.

Quantidade de usuários

Fóruns de discussão, área de membros e sistemas EAD são apenas alguns exemplos de sites em WordPress que utilizam o recurso Usuários para controle do acesso de suas funcionalidades. Em projetos onde o cadastro de usuários se faz presente, exibir a quantidade de usuários no tema auxilia no fortalecimento e divulgação do grupo criado.

Dentro do local desejado do seu Tema WordPress informe o seguinte código para exibir a quantidade de usuários no site:

$c = count_users();
printf( '%d usuários cadastrados', $c[ 'total_users' ] );

Com o uso da função count_users do modo apresentado, você recupera o total de usuários cadastrados em seu WordPress. Caso queira mostrar a quantidade de usuários de um tipo (Role) específico, você deve usar:

$r = $c[ 'avail_roles' ];
printf( '%d assinantes', $r[ 'subscriber' ] );

Detalhe importante da count_users para exibir a quantidade de usuários por permissão, é que a role somente trará resultado caso exista algum usuário cadastrado com a respectiva atribuição; ou seja, no exemplo acima, se o site não possuir nenhum assinante $r[ ‘subscriber’ ] sequer estará definida.