A importação de seu site WordPress pode, às vezes, causar problemas com a contagem de categorias e comentários. Pode ser frustrante ver números imprecisos depois de todo o seu trabalho árduo.
A boa notícia é que há maneiras simples de corrigir esses problemas, e elas exigem apenas alguns ajustes.
Neste artigo, mostraremos como corrigir a contagem de categorias e comentários após a importação do WordPress. Vamos colocar seu site em ordem novamente!
O que causa o erro de contagem de categoria e conteúdo no WordPress?
Quando você importa seu site do WordPress usando o importador integrado, às vezes ele pode mostrar uma contagem de comentários imprecisa ou nenhuma.
Embora todos os comentários sejam importados com segurança e estejam visíveis na área de administração, suas postagens podem mostrar uma contagem incorreta em seu site. Esse mesmo erro de importação também pode afetar as contagens da categoria e da taxonomia personalizada.
Como você notou na captura de tela acima, após a importação, nossa contagem de comentários e de categorias mostra 0 em vez do número real.
Nas seções a seguir, vamos ver como corrigir esse problema e exibir uma contagem precisa de comentários no WordPress.
Como corrigir a contagem de categorias e comentários no WordPress
Antes de começarmos, você deverá criar um backup completo do WordPress em seu site. Você deve fazer isso sempre que fizer uma alteração importante nele.
Recomendamos o uso do Duplicator porque ele é o plug-in de backup do WordPress mais abrangente do mercado.
Para obter mais detalhes, consulte nosso guia sobre como fazer backup do seu site WordPress com o Duplicator.
Depois de criar o backup, vamos passar para a próxima etapa. Você precisará abrir um editor de texto simples, como o Bloco de Notas, e copiar e colar o código a seguir:
<?php
include("wp-config.php");
$myConnection = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD);
if (!mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD)) { die('Could not connect: ' . mysqli_error()); }
if (!mysqli_select_db($myConnection, DB_NAME)) { die('Could not connect: ' . mysqli_error()); }
$result = mysqli_query($myConnection, "SELECT term_taxonomy_id FROM ".$table_prefix."term_taxonomy");
while ($row = mysqli_fetch_array($result)) {
$term_taxonomy_id = $row['term_taxonomy_id'];
echo "term_taxonomy_id: ".$term_taxonomy_id." count = ";
$countresult = mysqli_query($myConnection, "SELECT count(*) FROM ".$table_prefix."term_relationships WHERE term_taxonomy_id = '$term_taxonomy_id'");
$countarray = mysqli_fetch_array($countresult);
$count = $countarray[0];
echo $count."<br />";
mysqli_query($myConnection, "UPDATE ".$table_prefix."term_taxonomy SET count = '$count' WHERE term_taxonomy_id = '$term_taxonomy_id'");
}
$result = mysqli_query($myConnection, "SELECT ID FROM ".$table_prefix."posts");
while ($row = mysqli_fetch_array($result)) {
$post_id = $row['ID'];
echo "post_id: ".$post_id." count = ";
$countresult = mysqli_query($myConnection, "SELECT count(*) FROM ".$table_prefix."comments WHERE comment_post_ID = '$post_id' AND comment_approved = 1");
$countarray = mysqli_fetch_array($countresult);
$count = $countarray[0];
echo $count."<br />";
mysqli_query($myConnection, "UPDATE ".$table_prefix."posts SET comment_count = '$count' WHERE ID = '$post_id'");
}
?>
Em seguida, não se esqueça de substituir DB_HOST, DB_USER, DB_PASSWORD
pelo host do banco de dados do WordPress (geralmente o host local), nome de usuário e senha do banco de dados.
Você pode encontrar todas essas informações fazendo login no painel de controle da sua hospedagem WordPress ou consultando o arquivo wp-config.php
usando um gerenciador de arquivos.
Depois de substituir as informações, você pode salvar o arquivo como comments-fix.php
em sua área de trabalho.
Agora, você precisará carregar esse arquivo no diretório raiz do seu site. É possível fazer isso usando um cliente FTP ou o gerenciador de arquivos no painel de controle da hospedagem na Web.
Para obter mais informações, consulte nosso guia passo a passo sobre como usar o FTP para carregar arquivos no WordPress.
Depois de carregar o arquivo em seu site, vamos abrir o navegador da Web e acessar esse arquivo:
https://example.com/comments-fix.php
Não se esqueça de substituir example.com
pelo endereço de seu site.
Ao visitar esse arquivo em seu navegador, o script será executado. Ele percorrerá suas postagens, categorias, tags e comentários para atualizar a contagem.
Agora, quando terminar de corrigir a contagem de comentários do WordPress, você precisará excluir o arquivo comments-fix.php
do servidor.
Dica bônus: Configurar outras definições de comentários
Depois de importar seu site do WordPress, talvez você queira reconfigurar suas configurações de comentários.
Primeiro, você deve decidir se deseja permitir comentários em novas postagens por padrão. Ou você pode simplesmente ativar ou desativar comentários para postagens individuais.
As configurações de moderação ajudam você a controlar a qualidade dos comentários. Você pode optar por aprovar os comentários manualmente ou permitir que os comentários de usuários confiáveis apareçam automaticamente.
As notificações por e-mail o mantêm atualizado sobre novos comentários. Você pode ser notificado sempre que alguém comentar ou quando um comentário precisar de aprovação. Se você ativar a moderação, também poderá notificar os usuários quando seus comentários forem aprovados.
Agora, talvez você queira ir para Settings “ Discussion ( Configurações “ Discussão ) no painel do WordPress para definir as configurações de comentários. No entanto, recomendamos o uso do Thrive Comments para obter recursos mais avançados.
O Thrive Comments é o melhor plugin de comentários para WordPress do mercado. Além da configuração básica, ele pode ajudá-lo a envolver seus leitores com recursos como upvotes, downvotes, curtidas, emblemas e compartilhamento em mídias sociais.
Para obter mais detalhes, consulte nossa análise do Thrive.
Esperamos que este artigo tenha ajudado você a aprender como corrigir a contagem de categorias e comentários após a importação do WordPress. Em seguida, talvez você também queira dar uma olhada em nossos guias sobre como mostrar comentários na página inicial do seu tema do WordPress e como alterar a ordem das categorias no 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
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!
Fitri
Mine is not working, all the count from comments-fix.php is appear, but when i go to single page product it still says Reviews(0)
WPBeginner Support
Your server may be running on a newer PHP version, this code was for php 5.5 and we will certainly take a look into what we can do to update the code.
Administrador
Carlos
Thanks for this tutorial! Once I switched to PHP 5.5 the script worked like a charm.
WPBeginner Support
Glad it worked for you
Administrador
Peter Edwards
I lost most of the tag counts in a recent import – fixed this by bulk editing all the posts which were tagged and clicking update (without any changes). This triggers the tag count to be updated by wordpress core. Not sure if a similar trick would work for comments?
Bonnie
Ooo, such a simple solution, and it worked! Thanks!
Kingsley Felix
anyone for duplicate comments?
Pare
Just using cPanel go to PhpMyAdmin
Check What is category id (term_id) in table “xxx_terms” and then update count value in column count into the table “xxx_term_taxonomy” where the term_id is equal term_id of xxx_terms table which that category exists on.
Forexample “uncategory” of product is term_id = 10 and count value is wrong, I update count value to be correct number in table “xxx_term_taxonomy” where term_id = 10. by manual on cPanel – PhpMyAdmin tool.
Phuc
I get an error 500 if I want to access the comments-fix.php file. How can I fix this?
WPBeginner Support
Hello,
Please see our guide on how to fix 500 internal server error.
Administrador
Jay
To echo Yuriy’s comments, it’s not working for me either with PHP 7. 500 error.
Yuriy Smirnov
Doesn’t work on php7, because mysql_connect function has been removed since 7.0.0 verstion.
Rianta D. Mulyana
Thanks brother, it works!
Cosmin
Quick question: when replacing the DB_HOST, DB_USER, DB_PASSWORD and DB_NAME do we need to use “” or ” to enclose those values in? Or do we simply paste the values?
I tried and I am getting 500 Internal Server Error while accessing the uploaded file
Tyler
Yes, you do need to include single quotes around those values. Author should update the snippet to reflect that. Also, author forgot to mention that DB_NAME must also be changed.
Easy to spot, but this tutorial will fail for anyone following the instructions explicitly.
Makinde
Thanks WPBeginner, This was helpful..
Thanks for always being there for us.
Appreciate!
Aeryn Lynne
After a disastrous comment import that involved Intense Debate (only thing we could do is import bits of the xml file directly into mysql after obtaining post IDs for nearly a thousand posts,) I’m definitely in need of a quick program like this to correct the count, so thank you!
If anyone is looking to fix the comment count for one or two posts only though: instead of accessing FTP and mysql, they just need click Edit on one of the comments of the post that needs correction, and then click Update, and the post then updates the comment count for all comments involved in that post.
Naki Biga
Work like a charm, thank you very much!
Very simple and usefull code!
Edwin Rio
hi …
i have migrated one sito into another (i was using disqus for comments)
now in my new site, i can see the comments on the comments area but once i activate the disqus plugin the comments are not appearing on the front end article,
is this solution for my problem as well or my problems its most on disqus side ?
Thanks !
union
hi …
i have migrated one sito into another (i was using disqus for comments)
now in my new site, i can see the comments on the comments area but once i activate the disqus plugin the comments are not appearing on the front end article,
is this solution for my problem as well or my problems its most on disqus side ?
Thanks !
Connor Rickett
That seems fairly straightforward. Thanks for putting that code together, that’s a huge help!