Cara Menduplikat Komentar di WordPress

Cara Menduplikat Komentar WordPress

Sayang sekali, dari uji coba yang kami lakukan atas -hampir- semua plugin duplikat komentar, tidak ada yang bisa menduplikat komentar WordPress dengan baik. Semua plugin yang ada, bermasalah semua. Hal ini kami ketahui, ketika mencoba melakukan pemindahan komentar WordPress.

Plugin Copy Or Move Comments yang dikembangkan oleh biztechc, dan yang banyak dibahas dan dijadikan referensi banyak blog panduan WordPress besar [1][2], juga tidak berfungsi ketika kami mencoba nya.

Tapi tentu saja, kami punya solusinya disini. Kalau tidak, untuk apa kami menuliskan artikel ini.

Berikut adalah beberapa cara untuk menduplikat komentar di WordPress. Baik itu memakai plugin alternatif, atau memakai script PHP.

 

Plugin WordPress Comments Import & Export

Ini adalah plugin alternatif yang bisa Anda pakai untuk menduplikat komentar. Meskipun terkesan tidak secara langsung menyelesaikan masalah, namun hanya plugin ini saja -dan dengan bantuan tambahan dari plugin lain- yang bisa menjadi pilihan Anda.

Dan Anda mungkin bertanya “Saya ingin menduplikat komentar. Mengapa memberi referensi plugin untuk mengekspor dan mengimpor komentar”. Ya, karena plugin ini bisa digunakan untuk melakukan nya juga -jika Anda tahu caranya.

Cara Kerja

Sebelum ke bagian cara penggunaan, lebih baik baca sebentar mengenai bagaimana cara plugin export-import ini bisa menduplikat komentar.

Plugin ini akan bekerja untuk mengeksport komentar. Kemudian, untuk membuat duplikat komentar, Anda perlu menghapus terlebih dahulu komentar yang ada di postingan sebelumnya.

Kemudian, Anda perlu mengimport komentar sebelumnya kembali ke postingan tersebut. Lalu, melakukan restore atas komentar yang dihapus. Jika tidak melakukan nya, komentar tidak bisa di import dengan alasan “Comment already exsist”.

Baik. Garis besarnya seperti itu. Mari kita menuju panduan cara melakukan nya.

Panduan Menduplikat Komentar WordPress dengan Plugin Export- Import

Install dan aktifkan plugin

Ada beberapa plugin yang mirip, apabila Anda mencarinya dari menu “add plugin”. Pastikan Anda memilih plugin Comments Import & Export yang dibuat oleh WebToffee.

1. Install dan aktifkan plugin Comments Import & Export - Cara Menduplikat Komentar di WordPress
Install dan aktifkan plugin Comments Import & Export

Menemukan komentar yang ingin di duplikat

Setelah itu, temukan semua komentar dalam postingan yang ingin di duplikat ini.

Sebagai contoh, anggap saja saya ingin menduplikat komentar dari postingan saya yang berjudul “Lorem Ipsum” ini. Saya kemudian perlu menemukan semua komentar di dalam postingan ini. Tindakan ini bisa dilakukan dengan mengeklik jumlah komentar yang ada di daftar postingan tersebut.

2. Klik jumlah komentar di daftar post nya - Cara Menduplikat Komentar di WordPress
Klik jumlah komentar di daftar post nya

Download data komentar sebagai CSV

Setelah mendapatkan semua komentar nya, kemudian centang semua komentar tersebut, lalu pilih “Download as CSV” yang ada pada kolom “Bulk Action”.

3. Download file CSV komentar nya - Cara Menduplikat Komentar di WordPress
Download file CSV komentar nya

Klik tombol “Apply” untuk mengeksekusi nya.

Menghapus komentar lama

Selanjutnya, hapus semua komentar tersebut. Ya, Anda tidak salah baca. Anda harus menghapusnya. Jika tidak, proses import yang akan kita lakukan nanti, tidak akan berhasil karena komentar yang lama dianggap masih ada.

4. Menghapus komentar lama - Cara Menduplikat Komentar di WordPress
Menghapus komentar lama

Tidak perlu khawatir. Setelah kita menghapusnya, kita bisa me-restore nya kembali dari menu “Trash”.

Lakukan import komentar

  1. Masuk ke menu: Comments –> Comments Im-Ex.
  2. Klik tombol “Import Comments”.
  3. Pilih file nya.
  4. Lalu tekan tombol “Upload file and import”.

Atau, ikuti saja instruksi yang tertampil. Ini tindakan yang mudah.

5. Mulai melakukan import komentar - Cara Menduplikat Komentar di WordPress
Mulai melakukan import komentar

Apabila berhasil, maka pesan yang muncul adalah “Import Successful”.

6. Komentar berhasil di import - Cara Menduplikat Komentar di WordPress
Komentar berhasil di import

Restore komentar

Selanjutnya adalah mengembalikan komentar yang telah di hapus sebelumnya.

  1. Pilih “Trash” pada menu Comments.
  2. Centang komentar yang ingin dikembalikan.
  3. Kemudian klik “Apply”.
7. Restore komentar - Cara Menduplikat Komentar di WordPress
Restore komentar

Selesai

Dalam uji coba yang kami lakukan ini, bisa Anda lihat kalau jumlah komentar di halaman “Lorem Ipsum” yang ada di website kami, berubah menjadi 10. Sebelumnya adalah 5.

8. Jumlah komentar berubah - Cara Menduplikat Komentar di WordPress
Jumlah komentar berubah

Memindahkan Komentar

Ini adalah opsi tambahan. Cara menduplikat komentar yang kami berikan diatas, hanya bisa menduplikat komentar pada postingan yang sama. Jadi, Anda tidak bisa langsung menduplikatnya ke postingan lain.

Namun, solusi nya mudah. Setelah Anda berhasil menduplikatnya, gunakan plugin lain untuk memindahkan komentar tersebut ke postingan lain yang Anda kehendaki.

Disini, kami tidak akan menjelaskan cara melakukan nya. Karena, langkah ini mungkin tidak Anda butuhkan. Namun, jika Anda ingin sekalian memindahkan komentar yang sudah di duplikat tersebut, lihat panduan melakukan nya di halaman ini: 5 Cara Memindahkan Komentar WordPress

 

Memakai Script untuk Menduplikat Komentar di WordPress

Sebagian orang seringnya alergi, jika membahas menggunakan script daripada plugin. Apalagi sampai perlu mengedit kode script tersebut untuk bisa menggunakan nya.

Namun, sekali lagi, tidak ada plugin WordPress yang bisa Anda pakai secara langsung untuk menduplikat komentar. Oleh karena itu, kami menyediakan pilihan script ini untuk Anda pakai.

Script yang kami buatkan ini adalah jenis PHP. Cukup masukan saja script ini ke dalam menu function.php atau memakai WP Code, untuk menjalankan nya.

Dan juga, Anda perlu mengedit sedikit kode ID Post, sebelum memakai nya.

Adapun kami menyediakan 2 jenis script disini, dengan fungsi yang agak berbeda. Berikut adalah script nya.

Script untuk Menduplikat Komentar- Versi A

function copy_comments() {
$old_post_id = 3574;
$new_post_id = 6870;

// Ambil semua komentar dari post lama
$comments = get_comments(array(
'post_id' => $old_post_id,
'order' => 'ASC',
'orderby' => 'comment_date_gmt'
));

$old_new_parent_id_relation = array();

// Jika ada komentar
if (!empty($comments)) {
// Loop melalui setiap komentar
foreach($comments as $comment) {
// Buat array data komentar baru
$new_comment_data = array(
'comment_post_ID' => $new_post_id,
'comment_author' => $comment->comment_author,
'comment_author_email' => $comment->comment_author_email,
'comment_author_url' => $comment->comment_author_url,
'comment_content' => $comment->comment_content,
'comment_type' => $comment->comment_type,
'comment_parent' => ($comment->comment_parent && isset($old_new_parent_id_relation[$comment->comment_parent])) ? $old_new_parent_id_relation[$comment->comment_parent] : 0,
'user_id' => $comment->user_id,
'comment_author_IP' => $comment->comment_author_IP,
'comment_agent' => $comment->comment_agent,
'comment_date' => $comment->comment_date,
'comment_approved' => $comment->comment_approved,
);

// Masukkan komentar baru dan simpan ID komentar baru
$new_comment_id = wp_insert_comment($new_comment_data);
$old_new_parent_id_relation[$comment->comment_ID] = $new_comment_id;
}
}
}
add_action('init', 'copy_comments');
?>

Penjelasan “Script Versi A”

Script diatas, digunakan untuk menyalin semua komentar, tiap kali terjadi loading pada situs.

Kelemahan script “Versi A” ini adalah, kadang jumlah komentar yang di duplikat bisa mencapai 4-10 X lipat. Jadi, misalkan Anda menjalankan script ini untuk menduplikat komentar di sebuah post lama yang berisi 10 komentar, jumlah komentar yang disalin ke post baru mungkin bisa menjadi 40- 100 komentar.

Alasan komentar bisa terduplikat sangat banyak

Hal ini disebabkan, script ini akan aktif ketika terjadi “load” di website Anda. Maksudnya, jika Anda melakukan refresh website Anda dari front end (bagian depan situs), script ini akan bekerja menduplikat komentar.

Masalahnya, jika ada pengunjung yang melakukan load di situs, script ini juga akan berjalan pula. Oleh sebab itu, jumlah komentar yang di duplikat bisa menjadi sangat banyak.

Solusi

Solusinya hanya satu. Setelah Anda memakainya, kemudian langsung jangan gunakan lagi.

Setelah Anda memasukan script ini ke dalam menu function.php, kemudian merefresh satu kali situs Anda melalui front end, setelah itu hapus langsung script ini. Secepatnya.

Script untuk Menduplikat Komentar- Versi B

Sedangkan script “Versi B” ini, adalah modifikasi dari script sebelumnya. Namun, masih memiliki kelemahan juga. Script “Versi B” ini dibuat untuk menghindari duplikasi dengan menambahkan suatu pengecekan apakah komentar sudah pernah disalin atau belum.

function copy_comments() {
$old_post_id = 3574;
$new_post_id = 6870;

// Ambil semua komentar dari post lama
$comments = get_comments(array(
'post_id' => $old_post_id,
'order' => 'ASC',
'orderby' => 'comment_date_gmt'
));

$old_new_parent_id_relation = array();

// Ambil semua komentar dari post baru
$new_comments = get_comments(array(
'post_id' => $new_post_id
));

// Cek jika komentar sudah disalin
if (count($comments) === count($new_comments)) {
return;
}

// Jika ada komentar
if (!empty($comments)) {
// Loop melalui setiap komentar
foreach($comments as $comment) {
// Buat array data komentar baru
$new_comment_data = array(
'comment_post_ID' => $new_post_id,
'comment_author' => $comment->comment_author,
'comment_author_email' => $comment->comment_author_email,
'comment_author_url' => $comment->comment_author_url,
'comment_content' => $comment->comment_content,
'comment_type' => $comment->comment_type,
'comment_parent' => ($comment->comment_parent && isset($old_new_parent_id_relation[$comment->comment_parent])) ? $old_new_parent_id_relation[$comment->comment_parent] : 0,
'user_id' => $comment->user_id,
'comment_author_IP' => $comment->comment_author_IP,
'comment_agent' => $comment->comment_agent,
'comment_date' => $comment->comment_date,
'comment_approved' => $comment->comment_approved,
);

// Masukkan komentar baru dan simpan ID komentar baru
$new_comment_id = wp_insert_comment($new_comment_data);
$old_new_parent_id_relation[$comment->comment_ID] = $new_comment_id;
}
}
}
add_action('init', 'copy_comments');
?>

Perhatikan bahwa kode ini akan berhenti jika jumlah komentar pada post lama dan post baru sudah sama.

Meskipun ini bukanlah pengecekan yang sempurna (karena ada kemungkinan komentar baru ditambahkan ke post lama atau post baru), ini harus cukup baik untuk kasus Anda kecuali jika Anda berharap komentar baru ditambahkan ke post lama atau post baru selama proses penyalinan berlangsung.

Script untuk Menduplikat Komentar- Versi C

function duplicate_comments_from_specific_page() {
    $page_id = 330; // ID halaman yang komentar akan diduplikat
    $max_comments = 8; // Maksimal jumlah komentar utama yang diduplikat

    $comments = get_comments(array(
        'post_id' => $page_id,
        'number'  => $max_comments,
        'status'  => 'approve', // Opsional, hanya ambil komentar yang disetujui
        'parent'  => 0 // Hanya ambil komentar utama
    ));
    
    if ($comments) {
        foreach ($comments as $comment) {
            // Membuat salinan komentar utama
            $dup_comment = clone $comment;
            unset($dup_comment->comment_ID); // Menghapus ID untuk membuat komentar baru

            // Menambahkan komentar utama baru dan mendapatkan ID-nya
            $new_comment_id = wp_insert_comment((array) $dup_comment);

            // Menduplikasi balasan komentar
            $child_comments = get_comments(array('parent' => $comment->comment_ID));
            foreach ($child_comments as $child) {
                $dup_child = clone $child;
                unset($dup_child->comment_ID); // Menghapus ID untuk membuat komentar baru
                $dup_child->comment_parent = $new_comment_id; // Set parent ke komentar utama yang baru

                // Menambahkan balasan komentar baru
                wp_insert_comment((array) $dup_child);
            }
        }
    }
}

// Panggil fungsi ini untuk melakukan duplikasi
duplicate_comments_from_specific_page();

Script Versi C ini dirancang untuk menduplikat komentar dengan jumlah tertentu yang dapat kita tentukan. Misalnya, jika kita menetapkan angka 8 dalam script, maka setiap kali script dijalankan, ia akan menduplikat 8 komentar. Namun, ada satu kelemahan: jika script ini dijalankan berulang kali tanpa pembatasan, jumlah komentar yang diduplikat akan terus bertambah secara tidak terbatas, yaitu menjadi 8, kemudian 16, 32, dan seterusnya.

Sebagai solusi, disarankan menggunakan plugin WPCode. Dengan plugin ini, Anda dapat mengatur script untuk hanya diaktifkan pada halaman tertentu. Dengan demikian, script hanya akan dijalankan ketika halaman spesifik tersebut di-refresh, menghindari duplikasi berlebihan komentar pada seluruh situs. Ini memastikan bahwa script hanya beroperasi dalam konteks yang Anda inginkan, menjaga kontrol atas jumlah duplikasi komentar.

Cara Menggunakan Script Duplikat Komentar

  1. Salin script tersebut ke Notepad.
  2. Temukan ID postingan yang berisi komentar yang ingin Anda duplikat. Setelah itu, ubah bagian $old_post_id = dengan ID Postingan tersebut.
  3. Selanjutnya, masih sama seputar menemukan ID Postingan. Namun, ini adalah ID Postingan tujuan duplikat komentar ini. Cari dan temukan ID postingan dari halaman atau post yang ingin Anda jadikan tujuan duplikat komentar ini. Kemudian, ubah bagian $new_post_id = dengan ID postingan tujuan tersebut.
  4. Setelah memodifikasinya sedikit, masukan script ini ke function.php, atau memakai WP Code.
  5. Refresh situs Anda sekali saja dari bagian depan. Kemudian, lihat hasil nya.
Ganti kode nya dengan ID Post
Ganti kode nya dengan ID Post
4.1.1. ID Post - Memindahkan Komentar WordPress
ID Post

Penutup

Demikianlah tutorial mengenai cara menduplikat komentar di WordPress. Semoga dengan pengetahuan ini, Anda dapat lebih fleksibel dalam mengelola interaksi pengguna pada situs WordPress Anda.

Ingatlah, duplikasi komentar bisa menjadi alat yang kuat untuk menyusun ulang diskusi atau membawa percakapan penting ke pos yang lebih baru. Namun, gunakanlah dengan bijak untuk menjaga integritas dan kualitas diskusi di situs Anda.

Terima kasih sudah membaca, dan selamat mencoba!

Leave a Reply