¿Estás notando un recuento incorrecto de comentarios después de importar tu sitio de WordPress?
Importar un sitio de WordPress utilizando el importador incorporado puede a veces estropear el recuento de comentarios de WordPress.
En este artículo, le mostraremos cómo corregir el recuento de categorías y comentarios después de importar WordPress.
¿Qué causa el error de recuento de categorías y contenidos en WordPress?
Cuando importa su sitio de WordPress utilizando el importador incorporado, a veces puede mostrar un recuento de comentarios inexacto o ninguno en absoluto.
Mientras que todos los comentarios de WordPress se importan de forma segura y visible en el área de administrador, sus entradas mostrarán un recuento de comentarios incorrecto en su sitio web. Este mismo error de importación también puede afectar al recuento de categorías y taxonomías personalizadas.
Como ha podido observar en la captura de pantalla anterior, tras la importación, el recuento de comentarios y categorías muestra 0 en lugar del número real.
Dicho esto, echemos un vistazo a cómo corregir este problema y ver el recuento exacto de comentarios en WordPress.
Corrección de la categoría y el recuento de comentarios en WordPress
En primer lugar, es necesario crear una copia de seguridad completa de WordPress de su sitio. Deberías hacer esto cada vez antes de realizar un cambio importante en tu sitio.
Recomendamos usar Duplicator porque es el plugin de copia de seguridad para WordPress más completo del mercado.
Para más detalles, consulte esta guía sobre cómo hacer copias de seguridad de su sitio WordPress con Duplicator.
Una vez hecha la copia de seguridad, pasemos al siguiente paso.
A continuación, abra un editor de texto sin formato como el Bloc de notas y copie y pegue el siguiente código:
<?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'");
}
?>
Debe sustituir DB_HOST, DB_USER, DB_PASSWORD por el alojamiento de su base de datos de WordPress (normalmente el host local), el nombre de usuario de la base de datos y la contraseña.
Puede encontrar toda esta información accediendo al cPanel de su alojamiento WordPress o consultando su archivo wp-config.php mediante un gestor de archivos.
Una vez que haya sustituido la información, guarde este archivo como comments-fix.php
en su escritorio.
Ahora tendrá que subir este archivo al directorio raíz de su sitio. Puede hacerlo utilizando un cliente FTP o el gestor de archivos de su panel de control de alojamiento web.
Siga nuestra guía paso a paso sobre cómo utilizar FTP para subir archivos a WordPress para obtener más información.
Una vez subido el archivo a su sitio web, deberá abrir su navegador / explorador y acceder a este archivo:
https://example.com/comments-fix.php
Sustituya ejemplo.
com por la dirección de su sitio.
Al visitar este archivo en su navegador se ejecutará el script que simplemente recorre sus entradas, categoría, etiquetas, comentarios y actualiza el recuento.
Importante: Una vez que haya terminado de corregir el recuento de comentarios de WordPress, debe borrar el archivo comments-fix.php
de su servidor.
Esperamos que este artículo te haya ayudado a aprender cómo corregir los recuentos de categorías y comentarios tras la importación de WordPress. También puedes marcar / comprobar nuestra guía sobre cómo solucionar los errores más comunes de WordPress y nuestra guía definitiva sobre SEO en WordPress para mejorar tu posicionamiento.
If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and 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!
Fitri says
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 says
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 says
Thanks for this tutorial! Once I switched to PHP 5.5 the script worked like a charm.
WPBeginner Support says
Glad it worked for you
Administrador
Peter Edwards says
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 says
Ooo, such a simple solution, and it worked! Thanks!
Kingsley Felix says
anyone for duplicate comments?
Pare says
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 says
I get an error 500 if I want to access the comments-fix.php file. How can I fix this?
WPBeginner Support says
Hello,
Please see our guide on how to fix 500 internal server error.
Administrador
Jay says
To echo Yuriy’s comments, it’s not working for me either with PHP 7. 500 error.
Yuriy Smirnov says
Doesn’t work on php7, because mysql_connect function has been removed since 7.0.0 verstion.
Rianta D. Mulyana says
Thanks brother, it works!
Cosmin says
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 says
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 says
Thanks WPBeginner, This was helpful..
Thanks for always being there for us.
Appreciate!
Aeryn Lynne says
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 says
Work like a charm, thank you very much!
Very simple and usefull code!
Edwin Rio says
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 says
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 says
That seems fairly straightforward. Thanks for putting that code together, that’s a huge help!