Deseja exibir postagens populares com base em suas visualizações no WordPress?
Ao mostrar os posts mais populares do seu blog WordPress, você pode ajudar os leitores a encontrar o seu conteúdo melhor e mais valioso. Além disso, isso pode incentivá-los a permanecer mais tempo em seu site.
Neste artigo, mostraremos como exibir suas postagens populares por visualizações no WordPress.
![How to Display Popular Posts by Views in WordPress How to Display Popular Posts by Views in WordPress](https://www.wpbeginner.com/wp-content/uploads/2021/05/display-popular-posts-by-views-in-WordPress-OG.png)
Por que exibir postagens populares por visualizações no WordPress?
Quando os usuários veem as publicações mais populares do seu blog WordPress, eles podem descobrir qual conteúdo os outros leitores mais gostam. Dessa forma, eles podem conferir esses artigos e participar da conversa.
Além disso, a exibição de seu conteúdo mais popular no WordPress pode aumentar sua prova social. É como dizer aos novos usuários: “Ei, outras pessoas acharam essas postagens muito úteis, e você também pode achar!”
![WPBeginner's trending and popular posts WPBeginner's trending and popular posts](https://www.wpbeginner.com/wp-content/uploads/2023/12/popular-blog-posts-min.png)
Por fim, mostrar as postagens mais populares do blog pode fazer com que as pessoas permaneçam mais tempo em seu site e explorem mais seu conteúdo.
Quanto mais o envolvimento do usuário aumenta, mais o Google acredita que seu conteúdo é bom e importante. Por sua vez, seu site pode ter uma classificação mais alta. Além disso, isso dá aos leitores mais tempo para converter, como assinar o seu boletim informativo.
Infelizmente, o WordPress não tem um recurso ou bloco incorporado para exibir suas postagens mais populares por exibiçõ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 ir direto ao seu método preferido:
Tutorial em vídeo
Se você preferir instruções escritas, continue lendo.
Método 1: Exibir postagens populares do WordPress por visualizações com o MonsterInsights
A maneira mais fácil de exibir postagens populares por visualizações no WordPress é com um plug-in. Na verdade, há muitos plug-ins de publicações populares disponíveis no WordPress, mas, em nossa opinião, a melhor opção é o MonsterInsights.
![The MonsterInsights Google Analytics plugin The MonsterInsights Google Analytics plugin](https://www.wpbeginner.com/wp-content/uploads/2022/10/monsterinsights-google-analytics.png)
Usado por mais de 3 milhões de sites em todo o mundo, o MonsterInsights é o melhor plug-in do Google Analytics para WordPress. Embora sua principal funcionalidade seja a análise, ele também tem um recurso fácil de usar para mostrar suas postagens mais populares.
Em primeiro lugar, você precisará instalar o plug-in MonsterInsights e conectá-lo à sua conta do Google Analytics. Para obter mais detalhes, consulte nosso guia passo a passo sobre como instalar o Google Analytics no WordPress para iniciantes.
Observação: Embora haja uma versão gratuita do MonsterInsights disponível, usaremos a versão Pro, pois ela inclui o recurso de publicações populares.
Escolha um tema para owidget de postagens populares
Depois de ativar e configurar o plug-in, vá para Insights ” Popular Posts no painel do WordPress. Em seguida, clique no item de menu “Popular Posts Widget”.
![The Popular Posts Widget in MonsterInsights The Popular Posts Widget in MonsterInsights](https://www.wpbeginner.com/wp-content/uploads/2023/12/popular-posts-widget-min.png)
Rolando para baixo, você precisará selecionar um tema para exibir o widget de postagens populares. Há várias opções.
Alguns incluem uma imagem em destaque para a postagem, enquanto outros têm uma aparência mais minimalista.
![Choosing a popular posts widget theme in MonsterInsights Choosing a popular posts widget theme in MonsterInsights](https://www.wpbeginner.com/wp-content/uploads/2023/12/choose-theme.png)
Se quiser ver a aparência do tema antes de fazer sua escolha, basta descer na página até a seção Theme Preview (Visualização do tema).
Você também pode visualizar o tema em um formato Wide (amplo) ou Narrow (estreito). Com o formato Wide (amplo), você verá suas publicações listadas sob o conteúdo da página ou da publicação, enquanto o formato Narrow (estreito) exibe as publicações no lado direito, como uma barra lateral.
![Previewing the popular posts widget theme in MonsterInsights Previewing the popular posts widget theme in MonsterInsights](https://www.wpbeginner.com/wp-content/uploads/2023/12/theme-preview-min.png)
Em seguida, role a tela para baixo até a seção “Customize 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ê usar. Portanto, não deixe de explorar os diferentes temas para ver qual é o mais adequado para você.
![Customizing the popular posts widget theme in MonsterInsights Customizing the popular posts widget theme in MonsterInsights](https://www.wpbeginner.com/wp-content/uploads/2023/12/customize-theme.png)
Configurar o comportamento do widget Popular Posts
Depois de configurar o design do tema, você deve ir para a seção Behavior (Comportamento). É aqui que você controlará como o widget de postagens populares aparecerá em seu site do WordPress.
Nas configurações de Estilo do widget, você pode optar por usar o design que criou acima ou optar por não estilizar o widget. Com a segunda opção, o widget seguirá o CSS do tema de seu site WordPress.
Em seguida, você pode escolher como o widget deve escolher suas postagens mais populares. Aqui, escolha “Curated”.
![Some of the popular posts widget's behavior settings in MonsterInsights Some of the popular posts widget's behavior settings in MonsterInsights](https://www.wpbeginner.com/wp-content/uploads/2023/12/widget-styling-min.png)
O que você precisa fazer em seguida é ativar a opção “Adicionar os 5 principais posts 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 as postagens mais populares com base nos dados do Google Analytics.
Para fazer isso, você precisa fazer o download do MonsterInsights Dimensions Add-on e instalá-lo como um plug-in no WordPress. Para obter instruções passo a passo, consulte nosso guia sobre como instalar um plug-in do WordPress.
Em seguida, vá para Insights “ Configurações e mude para a guia “Conversões”. Depois disso, clique em “Add New Custom Dimension” (Adicionar nova dimensão personalizada).
![Adding a new custom dimension in MonsterInsights Adding a new custom dimension in MonsterInsights](https://www.wpbeginner.com/wp-content/uploads/2023/12/add-new-custom-dimensions-monsterinsights-min.png)
Depois de fazer isso, selecione “Post type” (Tipo de postagem) no menu suspenso.
Isso permitirá que o MonsterInsights rastreie o desempenho de suas postagens de blog e outros tipos de postagens personalizadas.
![Selecting post type as a custom dimension in MonsterInsights Selecting post type as a custom dimension in MonsterInsights](https://www.wpbeginner.com/wp-content/uploads/2023/12/post-type-custom-dimensions-min.png)
Agora, basta retornar a Insights ” Popular Posts e ir para ‘Popular Posts Widget’.
Basta ativar o botão de alternância “Add Top 5 Posts from Google Analytics”. Em seguida, clique em “Test Automated Posts” para ver se a configuração foi bem-sucedida.
![Adding top 5 posts based on GA data in MonsterInsights Adding top 5 posts based on GA data in MonsterInsights](https://www.wpbeginner.com/wp-content/uploads/2023/12/automated-curated-min.png)
Se sim, você verá uma mensagem pop-up de sucesso.
Ele deve dizer: “Os dados do Popular Posts podem ser obtidos corretamente. Observação: dependendo de quando você definiu as configurações de dimensões personalizadas, pode levar até sete dias para que os dados relevantes de Popular Posts sejam carregados pelo Google Analytics”.
![Popular posts data can be fetched correctly popup message in MonsterInsights Popular posts data can be fetched correctly popup message in MonsterInsights](https://www.wpbeginner.com/wp-content/uploads/2023/12/popular-posts-successful-min.png)
Passando para as próximas etapas, agora você pode adicionar um título que aparecerá acima do widget. Ele pode ser algo como “Confira nossas publicações mais populares” ou algo semelhante.
Abaixo disso, você pode escolher se o widget deve ser exibido em todos os tipos de post, ser excluído de posts específicos e/ou aparecer somente em determinadas categorias de post.
Essas configurações são úteis se você tiver tipos de post personalizados que não sejam posts de blog e achar que o widget de posts populares parecerá irrelevante.
![More behavior settings for the popular posts widget in MonsterInsights More behavior settings for the popular posts widget in MonsterInsights](https://www.wpbeginner.com/wp-content/uploads/2023/12/widget-title-min.png)
Uma das últimas etapas é incorporar o widget de postagens populares. Há várias opções: colocá-lo automaticamente, usando um bloco do Gutenberg, adicionando-o como um widget da barra lateral ou usando um shortcode.
Vamos examinar cada opção uma a uma.
![The embed options of popular posts widget in WordPress The embed options of popular posts widget in WordPress](https://www.wpbeginner.com/wp-content/uploads/2023/12/popular-posts-embed-options-min.png)
Incorporar o widget de postagens populares automaticamente
O posicionamento automático é recomendado se você quiser que o widget seja exibido em todas as postagens que correspondam às configurações de comportamento que você definiu anteriormente.
Para isso, basta ativar o botão Automatic Placement (Colocação automática).
![Activating automatic placement for the popular posts widget in MonsterInsights Activating automatic placement for the popular posts widget in MonsterInsights](https://www.wpbeginner.com/wp-content/uploads/2023/12/automatic-placement-min.png)
A desvantagem dessa opção é que você não pode ajustar o design do widget com base no que fica melhor no post ou na página. Se precisar desse tipo de funcionalidade, você pode tentar o próximo método.
Incorporar o bloco Popular Posts em uma página ou postagem
Se quiser ter mais controle sobre a aparência do widget em uma página ou publicação, esse método é para você.
Primeiro, acesse o editor de blocos do post ou da página onde você deseja que o widget fique. Depois disso, clique no botão “+” adicionar bloco em qualquer lugar do editor e procure o bloco Popular Posts.
![Adding MonsterInsights' popular posts block in the WordPress block editor Adding MonsterInsights' popular posts block in the WordPress block editor](https://www.wpbeginner.com/wp-content/uploads/2023/12/popular-posts-block-min.png)
No painel de configurações do Block, você verá que há opções para alterar o tema, o tamanho da fonte, as cores, o título, o layout e a contagem de posts do widget.
Essas configurações são semelhantes às que vimos no plug-in MonsterInsights.
![MonsterInsights' popular posts block settings in the WordPress block editor MonsterInsights' popular posts block settings in the WordPress block editor](https://www.wpbeginner.com/wp-content/uploads/2023/12/popular-posts-widget-block-settings-min.png)
A única diferença é que você não pode alterar quais publicações são escolhidas no widget.
Dito isso, nas Behavior Settings (Configurações de comportamento), é possível mostrar somente publicações de determinadas categorias. Dessa forma, você pode tornar as opções de postagens populares mais adaptadas às suas necessidades.
![Choosing to only display posts from certain categories in the MonsterInsights popular posts widget Choosing to only display posts from certain categories in the MonsterInsights popular posts widget](https://www.wpbeginner.com/wp-content/uploads/2023/12/shows-post-from-categories-min.png)
Quando você estiver satisfeito com as configurações do bloco, basta clicar no botão “Update” (Atualizar) no editor de posts e páginas.
Veja a seguir a aparência do bloco Popular Posts em nosso site de teste:
![Example of what the MonsterInsights popular posts block look like on the WordPress site Example of what the MonsterInsights popular posts block look like on the WordPress site](https://www.wpbeginner.com/wp-content/uploads/2023/12/popular-posts-example-min.png)
Incorporar o widget Popular Posts em uma barra lateral
Se estiver usando um tema do WordPress que não seja de bloco e que tenha uma área da barra lateral pronta para widgets, você poderá adicionar o widget Popular Posts a ela.
Tudo o que você precisa fazer é ir para Appearance ” Widgets. Em seguida, clique no botão “+” adicionar widget na área da barra lateral e procure o widget Popular Posts – MonsterInsights.
![Adding the MonsterInsights popular posts widget to the sidebar area Adding the MonsterInsights popular posts widget to the sidebar area](https://www.wpbeginner.com/wp-content/uploads/2023/12/popular-posts-sidebar-widget-min.png)
Como no método anterior, o widget inclui configurações semelhantes para personalizar a aparência do seu tema.
A diferença é que a interface é um pouco mais complicada de usar. À medida que você altera as configurações, não é possível ver a aparência real do widget. 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 “Update” (Atualizar) no canto superior direito.
![Updating the sidebar area after adding the MonsterInsights popuplar posts widget Updating the sidebar area after adding the MonsterInsights popuplar posts widget](https://www.wpbeginner.com/wp-content/uploads/2023/12/widget-update.png)
Não deixe de acessar seu site para verificar se a barra lateral está correta.
Veja como é o nosso:
![Example of the MonsterInsights popular posts widget in a sidebar Example of the MonsterInsights popular posts widget in a sidebar](https://www.wpbeginner.com/wp-content/uploads/2023/12/sidebar-widget-popular-posts-min.png)
Incorporar o widget Popular Posts com um código curto
A última opção é usar um shortcode. Esse método é recomendado se as opções acima não funcionarem para seu caso de uso específico.
Na guia Popular Posts Widget, role até a seção “Embed Options” (Opções de incorporação). Em seguida, escolha “Display using a Shortcode” (Exibir usando um código curto) e clique no botão “Copy Shortcode” (Copiar código curto).
![Copying the popular posts widget shortcode in MonsterInsights Copying the popular posts widget shortcode in MonsterInsights](https://www.wpbeginner.com/wp-content/uploads/2023/12/display-shortcode-popular-posts-min.png)
Depois disso, basta colocar o shortcode onde você quiser. Para obter mais informações, consulte nosso guia sobre como adicionar códigos de acesso no WordPress.
Método 2: Exibir postagens populares do WordPress por visualizações com o código
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 sentir confortável com a codificação, também poderá usar o código para mostrar suas postagens mais populares no WordPress.
Para esse método, recomendamos o uso de um plug-in de snippets de código, como o WPCode, que é o que usaremos neste guia.
![WPCode - Best WordPress Code Snippets Plugin WPCode - Best WordPress Code Snippets Plugin](https://www.wpbeginner.com/wp-content/uploads/2015/10/wpcode.jpg)
O WPCode torna segura a inserção de código personalizado sem interagir diretamente com seus arquivos do WordPress. Além disso, como esse método requer o uso de vários snippets de código, o plug-in facilitará muito o gerenciamento e o rastreamento de todos eles.
Primeiro, você precisa instalar o WPCode no WordPress. Há uma versão gratuita do WPCode disponível, mas usaremos a versão Pro, pois ela vem com os recursos necessários para inserir o código nos locais corretos.
Para obter um guia de instalação passo a passo, leia nosso artigo sobre como instalar um plug-in do WordPress.
Adicionar a função de contador de visualizações de postagens do WordPress
Após a ativação do plug-in, 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 “Use snippet”.
![Use snippet Use snippet](https://www.wpbeginner.com/wp-content/uploads/2023/11/wpcode-add-custom-snippet-css.png)
Agora, você está no editor de snippet de código do WPCode. Antes de inserir qualquer código, vá em frente e adicione um título para o snippet.
Para esse primeiro código, você pode nomeá-lo como “WordPress Post Views Counter Function”. Isso ocorre porque o objetivo desse 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 todos os trechos de código que você terá de adicionar a partir deste artigo estão em PHP.
![Creating the WordPress Post Views Counter Function in WPCode Creating the WordPress Post Views Counter Function in WPCode](https://www.wpbeginner.com/wp-content/uploads/2023/12/wpcode-wordpress-post-views-counter-min.png)
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, role para baixo até a seção “Insertion” (Inserção) e selecione “Auto Insert” (Inserção automática) para o método de inserção e “Run Everywhere” (Executar em todos os lugares) para o local. Isso funciona da mesma forma que inserir o código no arquivo functions.php do seu tema.
Depois disso, navegue até o lado superior direito da página e torne o código ativo.
Em seguida, clique em “Save Snippet”.
![Choosing the insertion method and location in WPCode Choosing the insertion method and location in WPCode](https://www.wpbeginner.com/wp-content/uploads/2023/12/wpcode-insertion-save-min-new.png)
Nessa etapa, você precisa adicionar outro novo snippet de código personalizado. Você pode chamá-lo de “Track Post Views Function Call”.
Esse código chamará a função acima e a ativará em suas páginas de postagem única.
Depois de fazer isso, copie e cole o seguinte snippet:
wpb_set_post_views(get_the_ID());
O que é diferente nesse snippet de código é que você escolherá o local “Insert After Post” (Inserir após a postagem) porque ele deve ser executado nas páginas de postagem única.
![Choosing Insert After Post as the code insertion location in WPCode Choosing Insert After Post as the code insertion location in WPCode](https://www.wpbeginner.com/wp-content/uploads/2023/12/insert-after-posts-min.png)
Quando terminar, basta tornar o código ativo e salvá-lo.
Inserir o gancho de rastreamento de visualizações de posts do WordPress
Agora, você precisa adicionar um novo trecho de código que verifica se a página atual é uma única postagem. Em caso afirmativo, ele chamará a função de contador de visualizações de posts do WordPress para rastrear e atualizar a contagem de visualizações do post.
Dessa forma, toda vez que um usuário visitar a postagem, sua contagem de visualizações será atualizada.
Vamos chamar esse snippet de ‘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” e o local como “Frontend Only”.
Da mesma forma que nas etapas anteriores, basta ativar o código e salvar o snippet.
![Choosing Frontend Only as the code insertion location in WPCode Choosing Frontend Only as the code insertion location in WPCode](https://www.wpbeginner.com/wp-content/uploads/2023/12/frontend-only-min.png)
Observação: se você estiver usando um plug-in de cache, essa técnica pode não funcionar por padrão. Você pode usar o recurso de cache de fragmentos oferecido por alguns plug-ins de cache, como o W3 Total Cache, para que ela funcione.
Adicionar funções para recuperar a contagem de visualizações de posts e exibir os posts mais populares com contagens de visualizações
Estamos agora nas etapas finais deste guia. Você precisa adicionar um trecho de código que recupere e formate o número de visualizações de uma determinada postagem do WordPress. Isso será útil mais tarde ao exibir a lista das postagens mais visualizadas.
Você pode nomear esse código como “Retrieve Post Views Count Function” e definir o local como “Run Everywhere”.
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 tornar o código ativo no WPCode e salvá-lo depois.
Depois de fazer isso, crie um novo snippet de código novamente e nomeie-o como “Display Most Popular Posts with View Counts”. Esse é o código que mostrará suas postagens mais populares na parte inferior das postagens do blog.
Na caixa Code Preview, insira o seguinte trecho de código:
// 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, fique à vontade para ajustar o número de publicações a serem exibidas e personalizar o título dessa seção.
Na seção WPCode Insertion (Inserção de código WPC), certifique-se de selecionar “Insert After Post” (Inserir após a postagem) para o local. Em seguida, basta tornar o código ativo e salvar o snippet.
Tudo o que resta a fazer agora é visitar uma das postagens do seu blog e ver se o código funciona. Veja como são as publicações mais populares por seção de visualizações em nosso blog de teste do WordPress:
![What the most popular posts by views section looks like made with WPCode What the most popular posts by views section looks like made with WPCode](https://www.wpbeginner.com/wp-content/uploads/2023/12/most-popular-views-min.png)
Dica de especialista: Para ver se seu código funciona sem alterar permanentemente seu site, você pode experimentar o Modo de teste do WPCode.
Esse recurso permite que você adicione seus códigos normalmente e somente você pode ver como eles são no front-end. Por outro lado, seus usuários interagirão com seu site normalmente.
Esperamos que este artigo tenha ajudado você a aprender como exibir posts populares por visualizações no WordPress. Talvez você também queira conferir nosso artigo sobre como exibir produtos populares no WooCommerce e nosso guia para iniciantes sobre campos personalizados do WordPress.
Se você gostou deste artigo, inscreva-se em nosso canal do YouTube para receber tutoriais em vídeo sobre o WordPress. Você também pode nos encontrar no Twitter e no Facebook.
Syed Balkhi says
Hey WPBeginner readers,
Did you know you can win exciting prizes by commenting on WPBeginner?
Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
You can get more details about the contest from here.
Start sharing your thoughts below to stand a chance to win!
mohadese esmaeeli says
The display of popular posts is beneficial as it helps increase website traffic statistics. However, on the other hand, competitors can easily identify which posts and topics have been popular on your site. One of the sections I always explore for competitor analysis and finding trending topics is the “most popular articles” section on various websites.
WPBeginner Support says
While that can be something to keep in mind, we normally find it best to add what is most important to your visitors instead of being concerned that your competitors will follow your content.
Administrador
Mrteesurez says
Yes, competitors can use it to analytics ones website but you can just display it like WPbeginner, without adding the views count/counter.
But mind you, visitors can use Semrush, Google, Similarweb and some other ways to analyze your site. You own is just to know how you are playing your games.
Thanks for the insight.
Moinuddin Waheed says
Popular posts and related posts makes the user engagement intact and reduced bounce rate.
it helps in more user interaction with the posts and articles.
I have seen many bloggers showing views count and read time of the posts, like 5 minutes read or 3 minutes read.
can we have popular posts and related posts where ever we want with this method? and
Is this method can be used for achieving both these objectives like having read time based on word counts?
WPBeginner Support says
You should be able to place it wherever widgets are allowed. For the time to read, it would depend on the plugin you use for that and if it has an integration or not.
Administrador
Jiří Vaněk says
I would like to ask if the snippet also works on the new WordPress 6.4.2. I followed the instructions, cleared the cache, but the most read articles do not appear under the article
WPBeginner Support says
The code snippets should still work with the most up to date version of WordPress.
Administrador
Jiří Vaněk says
Thank you for the reply. It’s already working. I had a mistake somewhere and unfortunately I don’t know where. In the end, I repeated the whole procedure twice more and it worked on the third try. Unfortunately, I don’t know what I did wrong, but the snippets really work. Thank you.
WPBeginner Support says
Glad they started working for you, it’s always difficult to tell what went wrong when trying the same code again works when the previous time it didn’t.
Amy Ling says
Is there a way to make it so it’s based on user vs in general?
WPBeginner Support says
We do not have a recommended method for user specific popular posts at the moment.
Administrador
Chris says
If we have caching enabled, can we avoid the caching problem by resorting to JavaScript (AJAX) to send the command to record the view? Would that work?
WPBeginner Support says
While there is a complex way to have that workaround, we do not have a method we would recommend at this time.
Administrador
thomas says
How can I reset the meta keys or reset the counting??
Is there any function?
WPBeginner Support says
If you’re using the custom code method, it is saved as a custom field in which case you can edit the count in the edit post area itself. You can see more on custom fields in our guide below:
https://www.wpbeginner.com/wp-tutorials/wordpress-custom-fields-101-tips-tricks-and-hacks/
Administrador
saikat says
yes, very helpful tutorial
WPBeginner Support says
Glad our guide was helpful!
Administrador
Amir says
Hello, thank you very much.
It is very simple and practical.
But with each reload, one visit is added.
How can I fix this problem?
Thankful
WPBeginner Support says
Any time a user would reload a page or visit the page again would be another visit. For specifically excluding refreshes you would need to use a plugin with more advanced features.
Administrador
locas says
only 4 posts![:(](https://www.wpbeginner.com/pt/wp-content/plugins/classic-smilies/img/icon_sad.gif)
I’ve tried to change to 10 but still 4 posts show up
‘posts_per_page’ => 10
WPBeginner Support says
You may want to try clearing all caching checking with your theme’s support to ensure they don’t have anything that would conflict with this
Administrador
za says
Thank you for the tutorial. I applied it and it works. No need another plugin to show popular posts and the customized counter in single.
Thanks!
WPBeginner Support says
Glad our article could help![:)](https://www.wpbeginner.com/pt/wp-content/plugins/classic-smilies/img/icon_smile.gif)
Administrador
Chris says
Is it beyond the scope of this article to explain had you assign the functions to those buttons as in your screenshot:
Recent Articles – Popular Posts – editor’s picks
That is basically what I want to do…have buttons at the top of my posts page for recent, popular/trending, editors picks. I haven’t found any plugins that can do that. The all focus on side bar widgets.
It looks like your article is starting to talk about this but where to go from there is beyond my current knowledge level.
Thanks,
Chris
Sakshi Grover says
This was very helpful.!!! Thanks a ton.!
Amit Biswas says
Getting double view count on refresh (single.php). Don’t know if the remove action is working or not for “adjacent_posts_rel_link_wp_head”. Useless so far. I tried everything that is possible to remove double count. Using this code in a custom made plugin.
Hans says
Thsi thing works greats.
Now I want the columnn in admin to be sortable. any idea how to do this?
many thanks!
Trevor says
Hey, thanks for the code. Only issue I’m having is the view count is incrementing by 2 instead of 1 on refresh. Any thoughts?
Shwet says
I have the same problem with this code.
Have you found any solution of this?
Fuchel says
This was happening for me because I had:
`set_post_views(get_the_ID());` in single.php
AND
`add_action( ‘wp_head’, ‘track_post_views’);` in my functions.php which was also adding `set_post_views(get_the_ID());` within it.
By removing the line on single.php I fixed the double count.
Maya says
How to show most popular posts on my home page?
Shaq says
How do I do this for a weekly basis, most viewed posts each week?!
iftkhar hussain says
ah , this works fine ;
thanks dear !
Bülent Sakarya says
Hello..
Using w3total cache but count not working correctly.
don’t use child theme. how can I fix it?
thanks..
Ryley Ameden says
Fixed this issue:
Cannot use WP_Query, used get_posts and it is now working. Then use a foreach look to loop through the posts and display them. See below:
$blog_cat_array = get_the_category();
$blog_cat = $blog_cat_array[0]->term_id;
$popularpost = array(
‘posts_per_page’ => 2,
‘meta_key’ => ‘wpb_post_views_count’,
‘orderby’ => ‘meta_value_num’,
‘order’ => ‘DESC’,
‘category’ => $blog_cat,
‘post_type’ => ‘post’,
);
$pop_posts = get_posts($popularpost);
foreach($pop_posts as $pop_post){
the_title();
}
Philipp says
Is there a possibility to count only unique visitors? Thank you
Zeeshan says
Simple Awesome …. (Y)
Erwin Barendregt says
I really like this option and have built it into my site.
I have one question regarding the count. I found that the counts were rather high so I changed the code around a bit. With every count increase I wrote the IP address to a log file. I found hat two-third of the counts were legit and the other ones came from googlebot, apple, etc. and just now apews Is there any way to get the counts right and do you know if the ‘regular’ plugins have found a way around this?
Thx!
BTW: Keep up the good work, I thoroughly enjoy this site!
bah says
you can take maxmind ISP IP database and only count humans. This is the best option. Second just dont count common bots user-agent-names
Erwin Barendregt says
Thanks so much. I will definitely look into that.
In the mean time I implemneted the solution which was implemented in the WordPress Popular Posts plugin. That works for now, but the solution you recommended seems more future-proof. Thanks again!
HiepTD says
Hello, I am using WP Super Cache.
I do not know how this code works correctly.
Krishna says
It is not working for Custom Post Type. Can you help me on this please..
John says
Hi! Awesome! This code helped me a lot!
Do you know how to display the posts with 0 views? I have to enter to the post page by using the url the first time, otherwise it doesn’t show.
Gianmarco says
Awesome thanks this is really useful, but a question. Doesn’t it slow down the loading of the page significantly?
ayaz says
Hi,
This is very useful post, i really appreciate. Can i filter the post in category, I wanted to show the post of specific category.
Thanks.
Md Maruf Adnan Sami says
How can i set Features post on Mobilepress Hompage?
Please give me that code.
gift charles says
Thank you for this awesome post, you guys are the best
Bojan says
Ok this is great. For some reason, post count doesnt show numbers, not sure is it because i work on a local., but what i wanted to ask even more, is how to add so it count only in the last 7 days?
Blown says
Hi, How can I show the most popular posts for the current week??
Ashish says
Awesome Article !! Thanks. Would be better if code was explained in detail.
Dhiraj Kataria says
I need advice on how r u to Load Word files to a WordPress website please. Is there an easy way?
DarkSafka says
Sadly this does not work with W3 Total Cache with Page Caching enabled. Coul not get any “fragmented caching” to work either.
Fakrul says
Same here @DARKSAFKA . Not working.
Riya says
nice code. work perfectly….
hmmm says
you are right
REIBI says
Hey,
This works great. But I need to show popular post of a day, this code shows popular posts of all time. Is there anyway to show popular posts of a day only.
Any help will be greatly appreciated.
Thanks![:)](https://www.wpbeginner.com/pt/wp-content/plugins/classic-smilies/img/icon_smile.gif)
Dimitrios Arkolakis says
Try to add something like this in the WP Query
‘date_query’ => array(
array(
‘year’ => $today[‘year’],
‘month’ => $today[‘mon’],
‘day’ => $today[‘mday’],
),
Nick Heurter says
This doesn’t seems to work. Is there anyone who figures out how to display the most popular posts of the lasts 7 days?
Thanks!
Yonatan says
Add this code to the query
‘date_query’ => array(
array(
‘after’ => ‘1 week ago’
)
)
Mawardiy says
Hi, I use Goodnews 5.7.2 theme, but where i put “wpb_get_post_views(get_the_ID());” in my theme, thank for u’r guidance
Alex says
Hey, thanks for the information.
There’s a little problem. I put:
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);
}
}
//To keep the count accurate, lets get rid of prefetching
remove_action( ‘wp_head’, ‘adjacent_posts_rel_link_wp_head’, 10, 0);
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’);
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’;
}
and my visits counts always as two. What’s happening? Thanks.
6b says
Really great instruction no need of plugin.works perfect.
Paritosh Arya says
What table does this custom field get stored into? Is it the posts table or the postmeta?
ScoDal says
I modified this a little to use it as a shortcode. To use this with a shortcode, add this to your functions.php:
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);
}
}
//To keep the count accurate, lets get rid of prefetching
remove_action( ‘wp_head’, ‘adjacent_posts_rel_link_wp_head’, 10, 0);
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’);
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’;
}
function wpb_most_viewed_posts() {
// start output buffering
ob_start();
?>
4, ‘meta_key’ => ‘wpb_post_views_count’, ‘orderby’ => ‘meta_value_num’, ‘order’ => ‘DESC’);
//begin loop
while ($query->have_posts()) : $query->the_post(); ?>
<?php
// Turn off output buffering
$theResult = ob_get_clean();
//Return output
return $theResult;
}
// Create shortcode
add_shortcode('wpb_most_viewed', 'wpb_most_viewed_posts');
//Enable shortcode execution in text widgets
add_filter('widget_text', 'do_shortcode');
Then simply add [wpb_most_viewed] to your desired page/post and it should display your most popular posts.
Marcos says
Hello. Huge thanks for that. Works very well in my theme.
John says
Hello, great tutorial but I have one question.
After following all of the steps the template isn’t paginating. It’s only showing the default 10 posts. Should this happen or is there a way to get it to paginate?
Varange says
Folks, please help. Just cannot figure it out.
How do I change the args to the wp-query to show the most popular posts for the last week? Or month?
Denis says
Hello,
can I do this with comments? I dont use any comments on my site so I could use this comment count to check my most popular page without adding a comment?
Cheers,
Denis
Kes says
How do i make this work with w3 total cache? I’ve tried the fragment cache suggestion but changes nothing
Kes says
I’ve found a number of tuts covering this topic but none seem to spell out where the line goes.
I’ve tried it inside PHP tags and it breaks the page. If i place it in the HTML it just renders as a comment when you view source and no php is generated.
Any ideas? I’m w3 total cache and my page views aren’t getting updated
jarc100 says
Thanks, this works as charm, but i didn’t get how to use it with the W3 Total Cache.![:P](https://www.wpbeginner.com/pt/wp-content/plugins/classic-smilies/img/icon_razz.gif)
Jorge says
Hello! How can I show the most popular posts for the current week?? Is there any possible? Thanks in advance.
Bigdragon13th says
Hello,
I’m using this code for months and it’s works great! That’s before I start using W3 Total cache and the code stop counting view for me.
I struck at where and how do I need to put the mfunc code. Can you point that out for me?
FYI, I put all of the codes in site-specific plugin.