L’importazione del sito WordPress a volte può causare problemi con il conteggio delle categorie e dei commenti. Può essere frustrante vedere numeri imprecisi dopo tutto il vostro duro lavoro.
La buona notizia è che ci sono modi semplici per correggere questi problemi, che richiedono solo alcune modifiche.
In questo articolo vi mostreremo come correggere il conteggio delle categorie e dei commenti dopo l’importazione di WordPress. Rimettiamo in ordine il vostro sito!
Cosa causa l’errore di conteggio delle categorie e dei contenuti in WordPress?
Quando si importa il proprio sito WordPress utilizzando l’importatore integrato, a volte il conteggio dei commenti è impreciso o inesistente.
Mentre tutti i commenti vengono importati in modo sicuro e sono visibili nell’area di amministrazione, i pubblici potrebbero mostrare un conteggio errato sul sito web. Questo stesso errore di importazione può avere un impatto anche sui conteggi delle categorie e delle tassonomie personalizzate.
Come avete notato nello screenshot qui sopra, dopo l’importazione, il conteggio dei commenti e delle categorie mostra 0 invece del numero effettivo.
Nelle sezioni seguenti vedremo come correggere questo problema e visualizzare un conteggio accurato dei commenti in WordPress.
Correzione del conteggio delle categorie e dei commenti in WordPress
Prima di iniziare, è necessario creare un backup completo del sito WordPress. Dovreste farlo ogni volta prima di apportare una modifica importante.
Consigliamo di utilizzare Duplicator perché è il plugin per il backup di WordPress più completo sul mercato.
Per maggiori dettagli, consultate la nostra guida su come eseguire il backup del sito WordPress con Duplicator.
Dopo aver creato il backup, passiamo al passo successivo. È necessario aprire un editor di testo come Notepad e copiare-incollare il seguente codice:
<?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'");
}
?>
Quindi, non dimenticate di sostituire DB_HOST, DB_USER, DB_PASSWORD
con l’host del database di WordPress (di solito localhost), il nome utente e la password del database.
Potete trovare tutte queste informazioni accedendo al pannello di controllo del vostro host WordPress o consultando il file wp-config.php
con un file manager.
Una volta sostituite le informazioni, è possibile salvare il file come commenti-fix.php
sul desktop.
Ora è necessario caricare questo file nella directory principale del sito. È possibile farlo utilizzando un client FTP o il file manager del pannello di controllo dell’host.
Per maggiori informazioni, potete consultare la nostra guida passo-passo sull’uso dell’FTP per caricare i file su WordPress.
Dopo aver caricato il file sul sito web, apriamo il browser e dirigiamoci verso questo file:
https://example.com/comments-fix.php
Non dimenticate di sostituire example.com
con l’indirizzo del vostro sito.
Visitando questo file nel browser, lo script verrà eseguito. Lo script esegue il loop delle pubblicazioni, delle categorie, dei tag e dei commenti per aggiornare il conteggio.
Ora, una volta terminata la correzione del numero di commenti su WordPress, è necessario eliminare il file comments-fix.php
dal server.
Suggerimento bonus: Configurare altre impostazioni per i commenti
Dopo aver importato il vostro sito WordPress, potreste voler riconfigurare le impostazioni dei commenti.
Per prima cosa, è necessario decidere se si desidera consentire i commenti sui nuovi post in modo predefinito. Oppure potete semplicemente abilitare o disabilitare i commenti per i singoli commenti.
Le impostazioni di moderazionecontrollano la qualità dei commenti. Si può scegliere di approvare i commenti manualmente o di far apparire automaticamente i commenti di utenti fidati.
Le notifiche via email vi aggiornano su chi siamo a commentare. Potete ricevere una notifica quando qualcuno commenta o quando un commento deve essere approvato. Se si abilita la moderazione, si può anche notificare agli utenti quando i loro commenti vengono approvati.
A questo punto, per configurare le impostazioni dei commenti, si può andare su Impostazioni “ Discussione nella dashboard di WordPress. Tuttavia, vi consigliamo di utilizzare Thrive Comments per le caratteristiche più avanzate.
Thrive Comments è il miglior plugin per i commenti su WordPress presente sul mercato. Oltre alla configurazione di base, può aiutarvi a coinvolgere i vostri lettori con caratteristiche come upvotes, downvotes, likes, badges e condivisione sui media.
Per maggiori dettagli, potete consultare la nostra recensione di Thrive.
Speriamo che questo articolo vi abbia aiutato a capire come correggere il conteggio delle categorie e dei commenti dopo l’importazione di WordPress. Inoltre, potreste voler dare un’occhiata alle nostre guide su come mostrare i commenti nella homepage del vostro tema WordPress e su come cambiare l’ordine delle categorie in WordPress.
Se questo articolo vi è piaciuto, iscrivetevi al nostro canale YouTube per le esercitazioni video su WordPress. Potete trovarci anche su Twitter e 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.
Admin
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
Admin
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.
Admin
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!