När du importerar din WordPress-webbplats kan det ibland uppstå problem med antalet kategorier och kommentarer. Det kan vara frustrerande att se felaktiga siffror efter allt ditt hårda arbete.
Den goda nyheten är att det finns enkla sätt att åtgärda dessa problem, och de kräver bara några få justeringar.
I den här artikeln visar vi dig hur du fixar antalet kategorier och kommentarer efter WordPress-import. Låt oss få ordning på din webbplats igen!
Vad orsakar fel i kategori- och innehållsräkning i WordPress?
När du importerar din WordPress-webbplats med hjälp av den inbyggda importören kan den ibland visa ett felaktigt antal kommentarer eller inga alls.
Alla kommentarer är säkert importerade och synliga i adminområdet, men dina inlägg kan visa ett felaktigt antal på din webbplats. Samma importfel kan också påverka räkningen av kategorier och anpassade taxonomier.
Som du märkte i skärmdumpen ovan, efter importen, visar vårt antal kommentarer och kategoriantal 0 istället för det faktiska antalet.
I följande avsnitt ska vi titta på hur du åtgärdar detta problem och visar ett korrekt antal kommentarer i WordPress.
Fixa antal kategorier och kommentarer i WordPress
Innan vi börjar bör du skapa en fullständig WordPress-backup av din webbplats. Det bör du göra varje gång innan du gör en större förändring.
Vi rekommenderar att du använder Duplicator eftersom det är det mest omfattande plugin-programmet för säkerhetskopiering av WordPress på marknaden.
För mer information, se vår guide om hur du säkerhetskopierar din WordPress-webbplats med Duplicator.
Efter att ha skapat säkerhetskopian, låt oss gå vidare till nästa steg. Du måste öppna en vanlig textredigerare som Notepad och kopiera och klistra in följande kod:
<?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'");
}
?>
Glöm sedan inte att ersätta DB_HOST, DB_USER, DB_PASSWORD
med din WordPress-databashost (vanligtvis localhost), databasens användarnamn och lösenord.
Du kan hitta all denna information genom att logga in på kontrollpanelen på ditt WordPress-värd eller titta på filen wp-config.php
med hjälp av en filhanterare .
När du har bytt ut informationen kan du spara filen som comments-fix.php
på ditt skrivbord .
Du måste nu ladda upp den här filen till webbplatsens rotkatalog. Det kan du göra med hjälp av en FTP-klient eller filhanteraren i kontrollpanelen på ditt webbhotell.
Om du vill ha mer information kan du läsa vår steg-för-steg-guide om hur du använder FTP för att ladda upp filer till WordPress.
När du har laddat upp filen till din webbplats öppnar vi din webbläsare och går över till den här filen:
https://example.com/comments-fix.php
Glöm inte att ersätta example.com
med adressen till din webbplats .
Om du besöker den här filen i din webbläsare kommer skriptet att köras. Det kommer att loopa genom dina inlägg, kategorier, taggar och kommentarer för att uppdatera antalet.
Nu, när du är klar med att fixa ditt WordPress-kommentarantal, måste du ta bort comments-fix.php-filen
från din server .
Bonus tips: Konfigurera andra inställningar för kommentarer
När du har importerat din WordPress-webbplats kanske du vill konfigurera om dina kommentarinställningar.
Först måste du bestämma om du vill tillåta kommentarer på nya inlägg som standard. Eller så kan du bara aktivera eller inaktivera kommentarer för enskilda inlägg.
Modereringsinställningarna hjälper dig att kontrollera kvaliteten på kommentarerna. Du kan välja att godkänna kommentarer manuellt eller låta kommentarer från betrodda användare visas automatiskt.
E-postmeddelanden håller dig uppdaterad om nya kommentarer. Du kan få ett meddelande när någon kommenterar eller när en kommentar behöver godkännas. Om du aktiverar moderering kan du även meddela användare när deras kommentarer godkänns.
Nu kanske du vill gå till Inställningar ” Diskussion i din WordPress-panel för att konfigurera dina kommentarinställningar. Vi rekommenderar dock att du använder Thrive Comments för mer avancerade funktioner.
Thrive Comments är det bästa WordPress-kommentarpluginet på marknaden. Förutom den grundläggande konfigurationen kan det hjälpa dig att engagera dina läsare med funktioner som upvotes, downvotes, likes, badges och delning på sociala medier.
För mer information kan du se vår Thrive-recension.
Vi hoppas att den här artikeln hjälpte dig att lära dig hur du fixar antal kategorier och kommentarer efter WordPress-import. Sedan kanske du också vill kolla in våra guider om hur du visar kommentarer på startsidan för ditt WordPress-tema och hur du ändrar kategoriordern i 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.
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.
Administratör
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
Administratör
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.
Administratör
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!