Importar su sitio de WordPress a veces puede causar problemas con los recuentos de categorías y comentarios. Puede ser frustrante ver números inexactos después de todo el trabajo duro.
La buena noticia es que hay formas sencillas de corregir estos problemas, y solo requieren hacer unos pocos ajustes.
En este artículo, le mostraremos cómo corregir sus recuentos de categorías y comentarios tras la importación de WordPress. ¡Vamos a poner tu sitio en orden!
¿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 se importan de forma segura y visible en el área de administración, sus entradas pueden mostrar un recuento incorrecto en su sitio web. Este mismo error de importación también puede afectar a los recuentos de categorías y taxonomías personalizadas.
Como ha podido observar en la captura de pantalla anterior, tras la importación, nuestro recuento de comentarios y categorías muestra 0 en lugar del número real.
En las siguientes secciones, vamos a ver cómo corregir este problema y mostrar un recuento preciso de los comentarios en WordPress.
Corrección de la categoría y el recuento de comentarios en WordPress
Antes de empezar, usted querrá crear una copia de seguridad completa de WordPress de su sitio. Deberías hacer esto siempre antes de realizar un cambio importante en él.
Recomendamos usar Duplicator porque es el plugin de copia de seguridad para WordPress más completo del mercado.
Para obtener más información, consulte nuestra guía sobre cómo realizar copias de seguridad de su sitio de WordPress con Duplicator.
Después de crear la copia de seguridad, pasemos al siguiente paso. Tendrás que abrir un editor de texto plano como el Bloc de notas y copiar y pegar 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'");
}
?>
A continuación, no olvide 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 panel de control de su alojamiento WordPress o consultando su archivo wp-config.
php mediante un gestor de archivos.
Una vez sustituida la información, puede guardar el 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.
Para obtener más información, puede consultar nuestra guía paso a paso sobre el uso de FTP para subir archivos a WordPress.
Una vez subido el archivo a su sitio web, abra su navegador y diríjase a este archivo:
https://example.com/comments-fix.php
No olvide sustituir ejemplo.com
por la dirección de su sitio.
Al visitar este archivo en su navegador se ejecutará el script. Recorrerá sus entradas, categorías, etiquetas y comentarios para actualizar el recuento.
Ahora, una vez que haya terminado de corregir el recuento de comentarios de WordPress, debe borrar el archivo comments-fix.php
de su servidor.
Consejo adicional: Establecer otros ajustes de comentarios
Después de importar su sitio de WordPress, es posible que desee volver a configurar los ajustes de los comentarios.
En primer lugar, tendrás que decidir si quieres permitir comentarios en las entradas nuevas por defecto. También puedes activar / desactivar los comentarios para entradas individuales.
Los ajustes de moderación te ayudan a controlar la calidad de los comentarios. Puedes elegir aprobar los comentarios manualmente o permitir que los comentarios de usuarios de confianza aparezcan automáticamente.
Los avisos por correo electrónico le mantienen actualizado acerca de nuevos comentarios. Puedes recibir avisos cada vez que alguien comenta o cuando un comentario necesita aprobación. Si activas la moderación, también puedes avisar a los usuarios cuando se aprueben sus comentarios.
Ahora, puede que quieras ir a Ajustes “ Discusión en tu escritorio de WordPress para establecer los ajustes de tus comentarios. Sin embargo, recomendamos utilizar Thrive Comments para obtener características más avanzadas.
Thrive Comments es el mejor plugin de comentarios para WordPress del mercado. Además de la configuración básica, puede ayudarle a involucrar a sus lectores con características como upvotes, downvotes, gustos, insignias y compartir medios sociales.
Para más detalles, puede consultar nuestra reseña / valoración de Thrive.
Esperamos que este artículo te haya ayudado a aprender cómo corregir el recuento de categorías y comentarios tras la importación de WordPress. A continuación, puede que también quieras comprobar nuestras guías sobre cómo mostrar comentarios en la página de inicio de tu tema de WordPress y cómo cambiar el orden de las categorías en WordPress.
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.
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!