Comment Count 0 Setelah Import WordPress

Melanjutkan tulisan tentang Panduan Langkah Migrasi Wordpess.com ke Hosting Sendiri (WordPress.org). Pada poin terakhir saya memberikan judul “Trik jika comment count 0 (tidak terhitung) setelah import”. Ya, itulah yang akan saya bahas.

Setelah proses import yang saya jalankan selesai, ternyata ada satu hal yang janggal. Semua comment count dari tulisan-tulisan blog lama menjadi 0, walaupun commentnya sebenarnya tetap ada dan terbaca. Hanya masalah count nya saja.

Berikut solusi agar comment count kembali sesuai dengan perhitungannya

  1. Buat file .php dengan nama apapun, misalnya comment-fix.php, isi dengan code yang saya tuliskan di bawah.
  2. Upload file tersebut ke server sejajar dengan wp-config.php. Harus sejajar dengan wp-config.php karena file yang kita buat akan mengakses wp-config.php untuk mengambil akses ke database.
  3. Jalankan file tersebut dengan mengkases namadomain.com/comment-fix.php. Setelah sukses, akan ada summary report berupa tulisan dan berapa comment count yang terhitung.

Satu hal yang perlu diperhatikan, code tersebut tidak bekerja pada PHP 7, summary report tetap akan muncul, namun comment count tetap 0 (tidak terganti). Maka sementara turunkan dulu versi PHP anda menjadi PHP 5, jalankan namadomain.com/comment-fix.php, baru kemudian kembalikan PHP Anda ke versi semula.

comment-fix.php:

<?php
include("wp-config.php");
 
$conn = 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($conn,DB_NAME)) {  die('Could not connect: ' . mysqli_error());  }
 
$result = mysqli_query($conn, "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($conn, "SELECT count(*) FROM ".$table_prefix."term_relationships WHERE term_taxonomy_id = '$term_taxonomy_id'");
  $countarray = mysqli_fetch_array($countresult);
  $count = $countarray[0];
  echo $count."
";
 mysqli_query($conn, "UPDATE ".$table_prefix."term_taxonomy SET count = '$count' WHERE term_taxonomy_id = '$term_taxonomy_id'");
        }
 
$result = mysqli_query($conn, "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($conn, "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."
";
  mysqli_query("UPDATE ".$table_prefix."posts SET comment_count = '$count' WHERE ID = '$post_id'");
        }
?>

Semoga membantu!

1 thought on “Comment Count 0 Setelah Import WordPress”

  1. Pingback: Panduan Langkah Migrasi Wordpess.com ke Hosting Sendiri (WordPress.org) – Herwin Lab

Leave a Comment

Your email address will not be published. Required fields are marked *