Se você já rolou até o final de um de nossos artigos, provavelmente notou nosso widget ‘Mais Populares no WPBeginner Agora!’. Este recurso tem sido um sucesso com nossos leitores, ajudando-os a descobrir nosso conteúdo mais valioso e incentivando-os a explorar mais nosso site.
Ao destacar seus posts de blog do WordPress mais populares, você não está apenas ajudando os leitores a encontrar seu melhor conteúdo – você também está impulsionando as métricas de engajamento do seu site. É uma situação ganha-ganha: os visitantes obtêm ótimo conteúdo e você os mantém no seu site por mais tempo.
Neste artigo, mostraremos como exibir facilmente seus posts mais populares com base em suas visualizações no WordPress.

Por que Exibir Posts Populares por Visualizações no WordPress?
Quando os usuários veem seus posts de blog do WordPress mais populares, eles podem descobrir qual conteúdo seus colegas leitores mais gostam. Dessa forma, eles podem conferir esses artigos e participar da conversa.
Além disso, exibir seu conteúdo mais popular no WordPress pode aumentar sua prova social. É como dizer aos novos usuários: “Ei, outras pessoas acharam esses posts muito úteis, e você também pode achar!”

Finalmente, mostrar seus posts de blog em alta pode fazer as pessoas ficarem mais tempo no seu site, aumentando suas pageviews e reduzindo sua taxa de rejeição.
Quanto mais o engajamento do seu usuário aumenta, mais o Google considera seu conteúdo bom e importante. Por sua vez, seu SEO para WordPress melhora e seu site pode ter um ranking mais alto.
Infelizmente, o WordPress não possui um recurso ou bloco integrado para exibir seus posts mais populares por visualizações de página. Neste guia, mostraremos como fazer exatamente isso com um plugin e com código.
Basta clicar em um dos links rápidos abaixo para pular diretamente para o seu método preferido:
- Método 1: Exibir Posts Populares do WordPress por Visualizações com MonsterInsights (Recomendado)
- Método 2: Exibir Posts Populares do WordPress por Visualizações com Código (Mais Avançado)
- Tutorial em Vídeo
Método 1: Exibir Posts Populares do WordPress por Visualizações com MonsterInsights (Recomendado)
A maneira mais fácil de exibir posts populares por visualizações no WordPress é com um plugin. Existem, na verdade, muitos plugins de posts populares para WordPress disponíveis, mas na nossa opinião, a melhor escolha é o MonsterInsights.

Usado por mais de 3 milhões de sites em todo o mundo, o MonsterInsights é o melhor plugin do Google Analytics para WordPress. Embora sua principal funcionalidade seja a análise, ele também possui um recurso fácil de usar para mostrar seus posts mais populares.
Antes de mais nada, você precisará instalar o plugin MonsterInsights e conectá-lo à sua conta do Google Analytics. Para mais detalhes, veja nosso guia passo a passo sobre como instalar o Google Analytics no WordPress para iniciantes.
Observação: Embora uma versão gratuita do MonsterInsights esteja disponível, usaremos a versão Pro, pois ela inclui o recurso de posts populares.
Escolha um Widget de Posts Populares Tema
Depois de ativar e configurar o plugin, vá para Insights » Posts Populares no painel do WordPress. Em seguida, clique no item de menu 'Widget de Posts Populares'.

Rolando para baixo, você precisará selecionar um tema para exibir o widget de posts populares. Existem várias opções.
Alguns incluem uma imagem destacada para a postagem, enquanto alguns são mais minimalistas.

Se você quiser ver como o tema fica antes de fazer sua escolha, basta descer a página até a seção de Pré-visualização do Tema.
Você também pode pré-visualizar o tema em formato Largo ou Estreito. Com o formato Largo, você verá suas postagens listadas sob o conteúdo da página ou postagem, enquanto o formato Estreito exibe as postagens no lado direito, como uma barra lateral.

Em seguida, vamos rolar para baixo até a seção 'Personalizar Design'. Aqui, você pode modificar as cores do tema, o tamanho da fonte, o layout e a contagem de postagens a serem exibidas.
As opções de personalização aqui podem variar dependendo do tema que você usa. Portanto, certifique-se de explorar os diferentes temas para ver qual deles se adapta melhor a você.

Configurar o Comportamento do Widget de Posts Populares
Depois de configurar o design do tema, você deve ir para a seção Comportamento. É aqui que você controlará como o widget de posts populares aparecerá em seu site WordPress.
Nas configurações de Estilo do Widget, você pode escolher usar o design que você fez acima ou optar por não estilizar o widget. Com a segunda opção, o widget seguirá o CSS do tema do seu site WordPress.
Em seguida, você pode escolher como o widget deve selecionar seus posts mais populares. Para este tutorial, escolha 'Com curadoria', mas você também pode exibir os posts mais populares com base no número de comentários.

O que você precisa fazer a seguir é habilitar a opção ‘Adicionar os 5 Posts Principais do Google Analytics’ abaixo. Mas antes de fazer isso, você precisará do MonsterInsights Dimensions Add-On e adicionar o tipo de post como uma nova dimensão personalizada.
Isso permitirá que o MonsterInsights escolha os posts mais populares com base nos dados do Google Analytics.
Para fazer isso, você precisa baixar o MonsterInsights Dimensions Add-on e instalá-lo como um plugin no WordPress. Para instruções passo a passo, confira nosso guia sobre como instalar um plugin do WordPress.
Em seguida, vá para Insights » Configurações e mude para a aba ‘Conversões’. Depois disso, clique em ‘Adicionar Nova Dimensão Personalizada’.

Assim que terminar, selecione ‘Tipo de post’ no menu suspenso.
Isso permitirá que o MonsterInsights rastreie o desempenho dos seus posts de blog e outros tipos de post personalizados.

Agora, basta retornar para Insights » Posts Populares e ir para ‘Widget de Posts Populares’.
Simplesmente ative o botão de alternância ‘Adicionar os 5 Posts Principais do Google Analytics’. Em seguida, clique em ‘Testar Posts Automatizados’ para ver se a configuração foi bem-sucedida.

Se sim, você verá uma mensagem de sucesso aparecer.
Deverá dizer: ‘Os dados dos Posts Populares podem ser buscados corretamente. Por favor, note: dependendo de quando você configurou as configurações de Dimensões Personalizadas, pode levar até 7 dias para ver os dados relevantes de Posts Populares sendo carregados do Google Analytics.’

Passando para os próximos passos, você agora pode adicionar um título que aparecerá acima do widget. Pode ser algo como ‘Confira Nossos Posts Mais Populares’ ou qualquer coisa semelhante.
Abaixo disso, você pode escolher se o widget deve ser exibido em todos os tipos de postagem, ser excluído de postagens específicas e/ou aparecer apenas em certas categorias de postagem.
Essas configurações são úteis se você criou tipos de postagem personalizados além das postagens de blog e acha que o widget de postagens populares parecerá irrelevante lá.

Uma das últimas etapas é incorporar o widget de postagens populares. Existem várias opções: colocá-lo automaticamente, usar um bloco Gutenberg, adicioná-lo como um widget de barra lateral ou usar um shortcode.
Vamos analisar cada opção uma por uma.

Incorporar o Widget de Postagens Populares Automaticamente
A Colocação Automática é recomendada se você quiser que o widget apareça em todas as postagens que correspondem às configurações de Comportamento que você definiu anteriormente.
Para isso, tudo o que você precisa fazer é ativar o botão Colocação Automática.

A desvantagem desta opção é que você não pode ajustar o design do widget com base no que fica melhor na postagem ou página. Se você precisar desse tipo de funcionalidade, poderá tentar o próximo método.
Incorpore o Bloco de Posts Populares a uma Página ou Postagem
Se você deseja ter mais controle sobre como o widget aparece em uma página ou postagem, este método é para você.
Primeiro, vá para o editor de blocos da postagem ou página onde você deseja que o widget esteja. Depois disso, clique no botão ‘+’ para adicionar um bloco em qualquer lugar do editor e procure pelo bloco de Posts Populares.

No painel de configurações do Bloco, você verá que existem opções para alterar o tema do widget, tamanho da fonte, cores, título, layout e contagem de posts.
Essas configurações são semelhantes às que vimos no plugin MonsterInsights.

A única diferença é que você não pode alterar quais posts são escolhidos no widget.
Dito isso, nas Configurações de Comportamento, é possível exibir apenas posts de certas categorias. Dessa forma, você pode tornar as escolhas de posts populares mais adequadas às suas necessidades.

Assim que estiver satisfeito com as configurações do bloco, basta clicar no botão ‘Atualizar’ no editor de postagens e páginas.
Veja como o bloco de Posts Populares aparece em nosso site de teste:

Incorpore o Widget de Posts Populares a uma Barra Lateral
Se você estiver usando um tema WordPress que não seja de blocos e que tenha uma área de barra lateral pronta para widgets, você pode adicionar o widget de Posts Populares a ela. Foi isso que fizemos em nosso artigo como adicionar posts em destaque na sua barra lateral do WordPress.
Tudo o que você precisa fazer é ir em Aparência » Widgets. Em seguida, clique no botão ‘+’ para adicionar um widget na área da Barra Lateral e procure pelo widget Posts Populares – MonsterInsights.

Assim como no método anterior, o widget inclui configurações semelhantes para personalizar a aparência do seu tema.
O que é diferente é que a interface é um pouco mais complicada de usar. Ao alterar as configurações, você não consegue ver como o widget realmente fica. Você terá que clicar em um widget diferente ou em outra área para visualizá-lo.
Se você estiver satisfeito com a aparência do widget, basta clicar em ‘Atualizar’ no canto superior direito.

Certifique-se de ir ao seu site para verificar se a barra lateral está correta.
Veja como o nosso fica:

Se você quiser que o widget Posts Populares apareça apenas em páginas específicas, então você pode ler nosso guia sobre como mostrar ou ocultar widgets em páginas específicas do WordPress.
Incorpore o Widget de Posts Populares Com um Shortcode
A última opção é usar um shortcode. Este método é recomendado se as opções acima não funcionarem para o seu caso de uso específico.
Na aba Widget de Posts Populares, role até o final da seção ‘Opções de Incorporação’. Em seguida, escolha ‘Exibir usando um Shortcode’ e clique no botão ‘Copiar Shortcode’.

Depois disso, simplesmente coloque o shortcode onde quiser. Para mais informações, confira nosso guia sobre como adicionar shortcodes no WordPress.
Método 2: Exibir Posts Populares do WordPress por Visualizações com Código (Mais Avançado)
O método MonsterInsights é a maneira mais fácil de exibir seu conteúdo mais popular e melhor por visualizações no WordPress. Mas se você se sente confortável com codificação, então você também pode usar código para mostrar seus posts mais populares do WordPress.
Para este método, recomendamos o uso de um plugin de trechos de código como o WPCode, que é o que usaremos neste guia.

O WPCode torna seguro inserir código personalizado sem interagir diretamente com seus arquivos do WordPress. Além disso, como este método requer o uso de vários trechos de código, o plugin tornará o gerenciamento e o rastreamento de todos eles muito mais fáceis.
Primeiro, você precisa instalar o WPCode no WordPress. Uma versão gratuita do WPCode está disponível, mas usaremos a versão Pro, pois ela vem com os recursos que precisamos para inserir o código nos locais corretos.
Para um guia de instalação passo a passo, leia nosso artigo sobre como instalar um plugin do WordPress.
Adicionar Função de Contador de Visualizações de Posts do WordPress
Após a ativação do plugin, você precisa ir para Code Snippets » + Add Snippet no painel. Em seguida, passe o mouse sobre ‘Add Your Custom Code (New Snippet)’ e clique em ‘+ Add Custom Snippet.’

Agora, você está dentro do editor de snippets de código do WPCode. Antes de inserir qualquer código, adicione um título para o snippet.
Para este primeiro código, você pode nomeá-lo algo como ‘Função de Contador de Visualizações de Posts do WordPress’. Isso ocorre porque o propósito deste primeiro código é criar uma função para contar as visualizações de posts no WordPress.
Em seguida, altere o Tipo de Código para ‘PHP Snippet’. Observe que todo snippet de código que você terá que adicionar deste artigo está em PHP.

Depois disso, você pode copiar e colar o seguinte código abaixo:
function wpb_set_post_views($postID) {
$count_key = 'wpb_post_views_count';
$count = get_post_meta($postID, $count_key, true);
if($count==''){
$count = 0;
delete_post_meta($postID, $count_key);
add_post_meta($postID, $count_key, '0');
}else{
$count++;
update_post_meta($postID, $count_key, $count);
}
}
//Get rid of prefetching to keep the count accurate
remove_action( 'wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0);
Agora, basta rolar para baixo até a seção ‘Insertion’ e selecionar ‘Auto Insert’ para o Método de Inserção e ‘Run Everywhere’ para a Localização. Isso funciona da mesma forma que inserir o código no arquivo functions.php do seu tema.
Depois disso, navegue até o canto superior direito da página e ative o código.
Em seguida, clique em ‘Save Snippet.’

Nesta etapa, você precisa adicionar outro novo trecho de código personalizado. Você pode nomear este como ‘Track Post Views Function Call.’
Este código chamará a função acima e a ativará em suas páginas de postagem única.
Assim que terminar, copie e cole o seguinte trecho:
wpb_set_post_views(get_the_ID());
O que há de diferente neste trecho de código é que você escolherá a localização ‘Insert After Post’ (Inserir Após Postagem), pois ele deve ser executado em suas páginas de postagem única.

Quando terminar, basta ativar o código e salvá-lo.
Inserir Hook de Rastreamento de Visualizações de Postagem do WordPress
Agora, você precisa adicionar um novo trecho de código que verifica se a página atual é uma postagem única. Se for, ele chamará a Função do Contador de Visualizações de Postagem do WordPress para rastrear e atualizar a contagem de visualizações da postagem.
Dessa forma, toda vez que um usuário visitar a postagem, sua contagem de visualizações será atualizada.
Vamos nomear este trecho como ‘WordPress Post Views Tracking Hook.’ Em seguida, insira as seguintes linhas de código:
function wpb_track_post_views ($post_id) {
if ( !is_single() ) return;
if ( empty ( $post_id) ) {
global $post;
$post_id = $post->ID;
}
wpb_set_post_views($post_id);
}
add_action( 'wp_head', 'wpb_track_post_views');
Você pode escolher o método de inserção como ‘Auto Insert’ (Inserção Automática) e a localização como ‘Frontend Only’ (Somente Frontend).
Assim como nas etapas anteriores, basta ativar o código e salvar o trecho.

Observação: Se você estiver usando um plugin de cache, esta técnica pode não funcionar por padrão. Você pode usar o recurso de cache de fragmentos oferecido por alguns plugins de cache como o W3 Total Cache para fazê-lo funcionar.
Adicionar Funções para Recuperar Contagem de Visualizações de Postagem e Exibir Postagens Mais Populares com Contagem de Visualizações
Estamos agora nas etapas finais deste guia. Você precisa adicionar um trecho de código que recupera e formata o número de visualizações de uma determinada postagem do WordPress. Isso será útil mais tarde ao exibir a lista de postagens mais visualizadas.
Você pode nomear este código como ‘Função de Recuperar Contagem de Visualizações de Postagens’ e definir a localização como ‘Executar em Todos os Lugares’.
Aqui está o trecho de código:
function wpb_get_post_views($postID){
$count_key = 'wpb_post_views_count';
$count = get_post_meta($postID, $count_key, true);
if($count==''){
delete_post_meta($postID, $count_key);
add_post_meta($postID, $count_key, '0');
return "0 View";
}
return $count.' Views';
}
Novamente, certifique-se de ativar o código no WPCode e salvá-lo depois.
Depois de fazer isso, crie um novo trecho de código novamente e nomeie-o ‘Exibir Postagens Mais Populares com Contagem de Visualizações’. Este é o código que mostrará suas postagens mais populares no final das suas postagens de blog.
Na caixa de Visualização de Código, insira o seguinte trecho:
// Customize the query parameters as needed
$popularpost = new WP_Query( array(
'posts_per_page' => 3, // Feel free to adjust the number of posts to display
'meta_key' => 'wpb_post_views_count',
'orderby' => 'meta_value_num',
'order' => 'DESC'
));
?>
<div class="popular-posts">
<h2>See Our Most Popular Posts</h2> <!-- Feel free to customize the title -->
<ul>
<?php while ( $popularpost->have_posts() ) : $popularpost->the_post(); ?>
<li>
<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
- <?php echo wpb_get_post_views(get_the_ID()); ?>
</li>
<?php endwhile; ?>
</ul>
</div>
<?php wp_reset_postdata();
Conforme observado no código, sinta-se à vontade para ajustar o número de posts a serem exibidos e personalizar o título desta seção.
Na seção Inserção do WPCode, certifique-se de selecionar ‘Inserir após o post’ para a Localização. Em seguida, ative o código e salve o snippet.
Tudo o que resta a fazer agora é visitar um dos seus posts do blog e ver se o código funciona. Veja como a seção de posts mais populares por visualizações se parece em nosso blog WordPress de teste:

Dica de especialista: Se você deseja personalizar ainda mais o código, mas não tem experiência em codificação, pode usar o Gerador de Código IA do WPCode para ajudá-lo. Este recurso pode editar seu código existente para atender às suas necessidades exatas.
Para mais informações, confira nossa análise completa do WPCode.
Tutorial em Vídeo
Se você prefere instruções visuais, assista à versão em vídeo deste tutorial abaixo:
Esperamos que este tutorial do WordPress tenha ajudado você a aprender como exibir posts populares por visualizações. Você também pode querer conferir nossa seleção especializada dos melhores plugins de posts relacionados para WordPress e nosso artigo sobre o que torna uma página de destino de alta conversão.
Se você gostou deste artigo, por favor, inscreva-se em nosso Canal do YouTube para tutoriais em vídeo do WordPress. Você também pode nos encontrar no Twitter e no Facebook.

Bigdragon13th
Olá,
Eu uso este código há meses e funciona muito bem! Isso até eu começar a usar o W3 Total Cache e este código parar de contar visualizações para mim.
Estou preso em onde preciso colocar o mfunc para que o código funcione com o cache. Você pode apontar isso?
Para sua informação, coloquei todo o código em um plugin específico do site.
AJ
Olá, isso é ótimo! Como eu exibiria a contagem de visualizações fora do loop de postagens, como na barra lateral?
leslie
olá, tenho um problema em como configurar, como quando o usuário logado não será incluído na contagem ao visualizar qualquer página?? como faço isso.. por favor, preciso de ajuda com isso. obrigado
Sarah
Hey there, thanks for this. REALLY helpful!! Would you know how to apply a time range to this code? For example to show the most popular posts in the last day, week or month etc? I know there are plugins for this but I would like to do it without one
Dale Knight
Ótimo!
Denis
Olá,
obrigado por este bom tutorial. Funciona na minha página!
– como posso excluir robôs e spiders que acessam meus posts?
– Talvez eu possa definir um temporizador de 10 segundos. depois disso a contagem deve aumentar. Assim, as pessoas que apenas clicam nos posts não são contadas.
Saudações,
Denis
Sarah
You have no idea how much time you saved me. Thank you, works perfectly!
Clay Hickman
Obrigado pela dica. Usarei.
Jenni B
Olá – muito obrigado por isso! Notei a pergunta sobre a solução alternativa do W3TC, mas tenho uma pergunta um pouco diferente: isso ainda se aplica se eu estiver conectando ao wp_head do functions.php, e se sim, como exatamente eu o implemento lá? Obrigado!
rafi
isso é muito fácil e muito útil! obrigado cara!
Kosmos
Olá, obrigado por este trecho.
Tenho um problema, o orderby não funciona. Tenho cinco posts:
– Post 1: 85 visualizações
– Post 2: 35 visualizações
– Post 3: 165 visualizações
– Post 4: 1 visualização
– Post 5: 1 visualização
Quando eu exibi, a ordem foi: 1, 2, 4, 5 e 3
Você tem alguma ideia, por favor?
Raj
Pode ser um problema de tipo inteiro..
Iftekhar
Seguindo seu artigo, estou usando a contagem de visualizações de posts no meu site há 6 meses. Estava funcionando bem, mas recentemente estou tendo problemas com isso. Se um visitante visualiza um post, a contagem aumenta em 1, mas o problema é que a contagem está aumentando em todos os outros posts. Tenho o w3 total instalado e estou usando mfunc de acordo com seu artigo. Por favor, me ajude se você tiver alguma ideia sobre este problema… Obrigado.
WPBeginner Support
Iftekhar, você pode verificar o que acontece quando você desativa o cache total do w3?
Admin
Iftekhar
The problem seems to w3. Post view count is OK since deactivated. But I want to use both of them
ivan
Olá,
Estou querendo mudar de plugin porque ele não suporta a linguagem polylang (o autor não está me respondendo e eu realmente não sei se é possível filtrar funções para o plugin...)
Duas perguntas:
– Eu examinei o código um pouco e não tenho certeza se este código começa a contar os posts a partir de quando ele é implementado? Ou ele recupera de alguma forma onde as contagens de posts estão atualmente?
– O código atual neste site usa a função get_posts() para criar um array de argumentos em vez de usar WP_Query(). Isso é a mesma coisa? Eu presumo que não. E se não for, o código abaixo está correto para obter o array? Eu tentei implementar isso, mas não pareceu funcionar.
$args = array( ‘meta_key’ => ‘wpb_post_views_count’, ‘orderby’ => ‘meta_value_num’, ‘order’ => ‘DESC’,’numberposts’ => 6, ‘post_status’=>”publish”,’post_type’=>”post”,’lang’ => ‘en’);
obrigado!
Tomas
Esta abordagem é muito básica. Se você quiser contar cliques do mesmo usuário (mesmo IP) apenas a cada 5 minutos ou 10 minutos, etc., você precisa ter uma tabela separada para isso e, antes de adicionar uma nova linha no banco de dados, você precisa verificar o IP e o horário. Se houver um registro salvo há 3 minutos, o clique não é adicionado. Caso contrário, ele é adicionado. Essa abordagem também permite criar uma lista personalizada dos artigos mais vistos em 7 dias, mês, todo o tempo, etc. Ou até mesmo por categoria, usuário, etc. (se você armazenar valores apropriados nas colunas apropriadas da tabela).
bóson
estou tentando .. quando você diz para colocar o código wpb_set_post_views(get_the_ID()); dentro do loop de postagem única, isso significa usar este código dentro do tema single.php em qualquer lugar?
obrigado pela sua ajuda
WPBeginner Support
Não, significa colar o código dentro do loop entre
1-click Use in WordPress
e
<?php endwhile; else: ?> <p><?php _e('Sorry, no posts matched your criteria.'); ?></p> <?php endif; ?>1-click Use in WordPress
Admin
Cory Dobson
Existe alguma maneira de restringir quando as visualizações de postagem são coletadas? Por exemplo, estou procurando exibir as postagens com mais visualizações nas últimas 24 horas, como você faria algo assim usando este código?
Ótimo post, aliás, muito útil!
igor
como posso paginar os resultados.
10 resultados por página, digamos
Mark
E se o seu single-xxxx.php não usar o loop, mas campos personalizados? Como posso usar este código se eu não usar o loop?
WPBeginner Support
single-xyz.php significa que esse arquivo é usado para um único post com o slug xyz. Você ainda pode adicionar o último trecho de código ao seu template, exatamente onde você acha que o template termina de exibir o conteúdo.
Admin
quocminh86
política de comentários,
Dusan
Estou confuso sobre onde colocar o código mfunc?
WPBeginner Support
Se você estiver usando o W3 Total Cache, poderá adicionar este código logo antes de wpb_get_post_views(get_the_ID()); em seus templates onde você deseja exibir os posts populares. O propósito deste código é permitir que o W3 Total Cache exiba dinamicamente posts populares e não os cacheie.
Admin
Waqas Munir
Caro, estou realmente confuso com isso... Estou tentando adicionar isso ao meu blog, mas não tenho experiência em nada disso.
WPBeginner Support
Então, talvez você devesse tentar usar o plugin WordPress Popular Posts em vez disso.
Admin
Aleksander
E quanto a usar a função update_post_meta em vez de delete_post_meta e add_post_meta?
George
Obrigado por este post! Muito, muito bom.
Tenho duas perguntas:
1. Existe alguma possibilidade de contar apenas uma visita por endereço IP? Como?.
2. Posso mostrar os posts mais populares por um período específico de tempo? Por exemplo, os posts mais visitados este mês, ou os posts mais populares de 1 de maio a 1 de junho…
Obrigado!
Igor Gumush
thanks , working great
shishir umrao
Oi,
Este código está funcionando, mas sempre que recarrego a página, ele adiciona "2" à contagem total de páginas. Por exemplo, se a contagem de páginas é 14 e após recarregar a contagem total de páginas é 16… alguém pode adivinhar qual é o problema?
Shishir Umrao
Equipe Editorial
Isso está acontecendo porque a função está sendo carregada duas vezes de alguma forma.
Admin
shishir umrao
Sim. Descobri que este trecho de código era o responsável por isso.
Nick
Post muito útil, consegui fazer minhas páginas de Tag ordenarem posts por um valor de campo personalizado semelhante à contagem de visualizações de posts, no entanto, tenho paginação em minhas páginas de tag e elas continuam mostrando os mesmos posts de maior destaque em todas as páginas, mesmo depois de eu ter removido este código:
‘posts_per_page’ => 4,
Como corrijo a paginação para que ela mostre outros posts nas páginas de Tag subsequentes?
Chris
Como você conseguiu fazer suas páginas de Tag ordenarem posts por um valor de campo personalizado semelhante à contagem de visualizações de posts?
Parece que o plugin de posts populares só aceita categorias como parâmetro.
Mike
Obrigado pelas instruções muito detalhadas. Usar isso para exibir os posts mais populares causará muita carga adicional no servidor se um site tiver tráfego significativo? Alguns plugins do WP para esse tipo de coisa tendem a ter esse problema.
Equipe Editorial
Quanto é tráfego significativo? Estamos usando isso no WPBeginner.
Admin
Ryan Karpeles
Uh, incrível! Simplesmente incrível. OBRIGADO por isso!!! Funciona perfeitamente!
Lowell
Ainda estou aprendendo essas coisas, então me perdoe pela minha ignorância.
Como você permite que o usuário escolha entre consultas como eles fazem no codecanyon quando permitem que você ordene por preço, vendas, data etc.?
Muito obrigado.
saeed
Como posso mudar o número de posts populares que são exibidos?
Equipe Editorial
Mude o posts_per_page para o número que você quiser.
Admin
Adam Davies
Muito obrigado por isso. Salva vidas e uma ótima dica que definitivamente usarei com mais frequência.
Md. Ariful Islam
Olá, Realmente, Muito, Muito obrigado por essas dicas úteis. Fico muito feliz com você.
Ar Ya
Oi, que ótimo!
Mas 'orderby' => 'wpb_post_views_count meta_value_num' não está funcionando.
Por favor, use: 'orderby' => 'meta_value_num'
Obrigado
nick
Obrigado, funciona para mim, apenas com uma exceção importante – posts populares não são links, apenas seus títulos. Como posso corrigir isso, por favor?
Preston
Adicionei este código da maneira descrita no artigo e, após a ativação, vi isto….
O plugin gerou 2 caracteres de saída inesperada durante a ativação. Se você notar mensagens de “cabeçalhos já enviados”, problemas com feeds de sindicação ou outros problemas, tente desativar ou remover este plugin.
Preston
Corrigido. Fiz duas coisas:
1. Mudei minha estrutura de permalink para uma estrutura personalizada /%category%/%postname%/
2. Verifiquei todas as minhas páginas em busca de espaços extras.
Um deles funcionou.
…vai entender
Preston
Jose Vega
Olá, acho que é necessário adicionar – wp_reset_query(); – ao final da query para destruir a query anterior usada em um Loop personalizado.
Espero que ajude alguém.
Jon Edwards
Tenho isso funcionando em 95% usando uma WP Query personalizada para exibir posts populares de cada categoria.
A única parte que não está funcionando para mim é a ordem – a minha não exibe em ordem decrescente de visualizações.
Cameron
Obrigado pelo post! Isso realmente ajudou.
Não tenho certeza se mais alguém encontrou este problema, mas ao configurar os argumentos para WP_Query, você tem orderby => ‘wpb_post_views_count’. Isso foi um problema para mim porque eu não tinha certeza de como ele estava ordenando minhas postagens. No codex, diz que se você estiver usando números, eles só serão classificados pelo primeiro dígito. Para corrigir isso, você pode simplesmente substituir ‘wpb_post_views_count’ por ‘meta_value_num’. Isso basicamente dirá à consulta para acessar o valor meta da postagem e provavelmente convertê-lo para um inteiro antes de classificar. Espero que isso ajude quem encontrar os mesmos problemas.
No geral, funciona muito bem! Tenho as 4 postagens mais populares em um slider na página inicial. Obrigado novamente!
Equipe Editorial
Boa sugestão. Artigo atualizado com isso.
Admin
efishinsea
Oi. Sua amostra de código no topo *não* está atualizada.
Em vez disso:
‘orderby’ => ‘wpb_post_views_count meta_value_num’
você deveria ter isto como sugerido:
‘orderby’ => ‘meta_value_num’
se você quiser classificar de “Mais para Menos”
Minh
Por que ele mostra apenas postagens que têm contagem de visualizações < 100?
Equipe Editorial
Se você estiver usando um plugin de cache, ele nem sempre é atualizado.
Admin
George
Obrigado pelo tutorial. Como excluo as postagens atuais de serem exibidas?
Kris
Isso fica ótimo na minha página inicial, mas parece querer exibir em meu single.php ou em qualquer outro lugar do meu site. Tentei criar um sidebar-single.php e inserir o código, mas ainda sem sucesso. Alguma ideia de por que não funcionaria em outras áreas do meu tema?
Kris
Consegui fazer funcionar. Obrigado por isso.
Anderson
Não funciona, mostra postagens aleatórias :S e eu uso post_type = > ‘post-type-name’
Mody
Isso geralmente acontece quando a chave meta wpb_post_views_count não está disponível para as postagens, certifique-se de adicionar a função que rastreia as visualizações dentro do loop do wp, caso contrário, ele continuará mostrando postagens aleatórias.
– Mody
Curvo
Olá,
Estou usando seu código para rastrear visualizações de posts no tema do WordPress.
function wpb_get_post_views($postID){ $count_key = ‘wpb_post_views_count’; $count = get_post_meta($postID, $count_key, true); if($count==”){ delete_post_meta($postID, $count_key); add_post_meta($postID, $count_key, ‘0’); return “0 Visualização”; } return $count.’ Visualizações’; }
O problema é que quando uso o W3 Total Cache, o rastreamento de visualizações não está funcionando corretamente.
Existe alguma maneira nas Opções do W3 Total Cache de ignorar apenas esta função, mas ao mesmo tempo quero que o código funcione com o W3 Total Cache?
Obrigado!
Equipe Editorial
Leia o artigo novamente. Já cobrimos o "Fragmented Caching".
Vaibhav
Olá
Segui seus tutoriais e fiz exatamente o que você disse.
Também adicionei seu snippet
php query_posts(‘meta_key=post_views_count&orderby=meta_value_num&order=DESC’);
em index.php
Estou enfrentando um pequeno erro,
Estou usando rolagem infinita
quando coloco este snippet em index.php
a rolagem infinita, em vez de carregar o próximo conjunto de posts
carrega os mesmos conjuntos de posts
Para melhor compreensão, você pode verificar ao vivo aqui
blog.newgags,com
Henry
Por algum motivo, minhas visualizações de posts estão sendo incrementadas em 2 a cada atualização da página. O que pode estar acontecendo?
Henry
Peço desculpas. Eu havia adicionado o rastreador tanto ao cabeçalho do WP quanto ao corpo do post individual. Muito estúpido da minha parte :}
Bom tutorial, muito fácil de seguir.
Brandon
Antes de mais nada, obrigado por este post. Em segundo lugar, estou usando este script há alguns dias e, por algum motivo, começou bem e agora não está exibindo os posts mais vistos. Não vejo nenhuma lógica para quais posts estão sendo exibidos agora. A última vez que verifiquei, o post que está sendo exibido no topo tem 8 visualizações de página. Sei que existem posts com mais de 25 visualizações registradas. Gostaria de descobrir isso. Você pode me apontar na direção certa? Segui este post palavra por palavra. As visualizações de post estão sendo registradas corretamente.
Equipe Editorial
Não tenho certeza do que pode estar dando errado. O WP_Query deveria listar os posts com as contagens mais altas primeiro.
Admin
Einar Ólafsson
Olá. Isso funciona bem até que a contagem de visualizações ultrapasse 999. Todos os posts com mais visualizações do que 999 não são exibidos, a consulta nunca os posta. O post mais recente é o que tem exatamente 999 e o resto está abaixo disso. Tenho mais de 100 posts com mais de mil e que não estão sendo incluídos.
Equipe Editorial
Interessante. Temos posts com mais de 10 mil visualizações e parece que está funcionando perfeitamente.
Admin
Martinbeasnunez
Vocês são demais!
Pergunta rápida:
Se eu adicionar um tipo de post personalizado no seu código?
(posts populares de um tipo de post personalizado específico)
Atenciosamente (:
Equipe Editorial
Isso também deve funcionar com CPTs.
Admin
Artem Russakovskii
Este é um bom tutorial básico, mas atenção: ele não vai funcionar se você usar estratégias de cache que ignoram o PHP (como wp-supercache, W3TC, nginx/varnish, etc.). A única maneira de contá-los seria via Javascript ou análise de logs.
Equipe Editorial
Olá Artem, obrigado por passar por aqui. Na verdade, usando o W3 Total Cache, você pode usar o cache de fragmentos e ele funciona perfeitamente. Vou atualizar o artigo para aqueles que usam o plugin de cache.
Admin
Artem Russakovskii
Interessante. No entanto, eu executo o nginx na frente do W3TC, e ele faz muito do seu próprio cache, então é sempre mais seguro/confiável usar uma abordagem AJAX. Boas informações sobre o cache de fragmentos, eu não tinha ideia de que o W3TC o possuía.
Ramon Fincken
Por que usar
//Para manter a contagem precisa, vamos remover o pré-carregamento
remove_action( ‘wp_head’, ‘adjacent_posts_rel_link_wp_head’, 10, 0); ?
se você pode usar o loop principal ou o rodapé?
Equipe Editorial
Alguns navegadores pré-carregam os links rel com o próximo valor. Então, tecnicamente, quando um usuário visualiza um post, ele pode agir como se tivesse visualizado ambos os posts. Isso causará uma contagem imprecisa. Se você gosta de visualizações infladas, então não remova.
Admin
Nino Blasco
Ótimo artigo! Explicação útil e fácil de entender.
Obrigado.
Connor Crosby
Eba! Um tutorial que não requer um plugin!
Equipe Editorial
Sim, tentamos equilibrar as coisas para nosso público. Isso foi solicitado pelos usuários e estávamos usando em nosso próprio site.
Admin
Zach
Por favor, pare de dizer coisas assim. Plugins não são ruins, são artigos como este que os fazem parecer ruins. Já saíram artigos suficientes nas últimas semanas para explicar isso completamente – está ficando um pouco embaraçoso.
Equipe Editorial
Como você sugeriria titular posts futuros em vez disso? Prefixo DIY? Estes são diferentes de apenas usar um plugin pré-fabricado. Além disso, se você ler o artigo, não há em nenhum lugar em nosso artigo que dizemos que “plugins são ruins”. Declaramos claramente que a única razão pela qual codificamos isso foi para obter mais personalização. Cabe ao usuário tomar qualquer posição. Alguns podem pensar que plugins são ruins… enquanto outros, como você, podem pensar que estamos dizendo que plugins são ruins…
Zach
Não acho que nenhum tipo de prefixo seja necessário. É uma das coisas ótimas/assustadoras sobre o WordPress. Você PODERIA colocar este código no seu tema, mas isso levanta o argumento sobre a necessidade de, 1) Perder essas personalizações ao mudar de tema, ou 2) ter o conhecimento para transferi-las adequadamente para outro tema.
Muitos dos usuários aqui são iniciantes (daí o propósito deste site), então muitos apenas copiarão/colarão o que você der a eles. O WP Beginner é obviamente um recurso fantástico (razão pela qual eu te sigo no Twitter), mas você tem a responsabilidade de não passar uma noção falsa sobre como plugins/temas funcionam.
Correto, você não diz abertamente: “Plugins são ruins, coloque isso no seu tema em vez disso!”, mas o comentarista original do tópico ao qual respondi disse: “Eba! Um tutorial que não requer um plugin!” – então, mesmo que você não tenha dito isso, foi assim que foi interpretado.
Eu sugeriria fazer o que Pippin faz para os plugins dele – ele tem um plugin inicial simples que usa para todos os seus tutoriais. Por que não criar um download de “Plugin Inicial” em branco, com apenas o básico, para que outros possam baixar e colocar suas personalizações lá em vez disso? Referencie-o em cada artigo que você fizer e isso elimina parte da confusão. Obrigado.
Equipe Editorial
Temos seguido o conselho de Otto sobre plugins específicos do site há algum tempo. Provavelmente é semelhante ao que Pippin faz. Se você ler este artigo, plugin específico do site está hiperlinkado. Está na maioria dos outros artigos também. Esse artigo mostra aos usuários a importância do plugin específico do site e aconselha os usuários a não colocar tudo no arquivo functions.php. Na parte inferior desse artigo, o exemplo de “plugin inicial” está disponível para qualquer um começar.
codekipple
Para ser justo, este tutorial me ajudou. Eu queria uma solução simples para posts populares depois de tentar alguns dos plugins e não conseguir controlar totalmente a marcação. Este tutorial me ajudou a implementar rapidamente algumas funcionalidades de posts populares no meu próprio plugin.
Então, concordo que usar plugins pré-fabricados não é algo ruim, mas às vezes tutoriais como este são úteis para ter controle e criar um plugin que funcione da maneira que você precisa, em vez de lutar contra um plugin já pronto.
Pippin
Como Zach disse, por favor, pare de usar “sem um plugin”. Claro, é legal ver como codificar isso sozinho, mas não há literalmente nenhuma diferença entre este código e o código de um plugin. Você poderia colocar este código em um plugin e ele funcionaria de forma idêntica a colocá-lo em seu tema.
Ruben
Se você diz que não há diferença, você não tem ideia do que está falando. Vamos supor que você esteja trabalhando em um site e não tenha acesso ao diretório de plugins, tornando uma solução que funcione "sem usar um plugin" uma alternativa viável.
Quanto ao título, semanticamente o título deve refletir o conteúdo da postagem e poderia ser "Como exibir posts populares por visualizações no WordPress com ou sem um plugin".
No entanto, levando o SEO em consideração, digamos que ele gostaria que esta postagem alcançasse um público específico, por exemplo, pessoas que não querem ou não podem usar um plugin, o título provavelmente seria melhor como está.
Gautam Doddamani
estou usando o tema filho do genesis..você pode me dizer quais funções e códigos usar..desculpe, sou um novato no genesis...
Equipe Editorial
Para usuários de temas filhos, a solução wp_head funcionaria para rastrear visualizações de posts. Não tenho certeza do que mais você quis dizer.
Admin
Gautam Doddamani
é verdade? como artim disse, este código se torna irresponsivo quando usamos um plugin de cache?? por exemplo, eu uso atualmente o W3 total cache e quero usar este método para construir meu widget personalizado de posts populares por visualizações... li este tipo de post no wpsnipp.com e os usuários sugeriram que não funciona quando ativamos plugins de cache... responda logo...
Equipe Editorial
Leia a resposta do comentário para Artem. Você pode usar o cache de fragmentos para fazê-lo funcionar perfeitamente.