Cara Duplicate WordPress Post atau Halaman
Ada sejumlah alasan yang mungkin mengharuskan Anda membuat duplikat halaman atau postingan WordPress.
Misalnya, Anda mungkin perlu duplicate postingan untuk mengupdate konten, atau mungkin ingin menggunakan layout khusus untuk halaman baru di website WordPress Anda.
Nah, apa pun alasannya, ada beberapa cara duplikat postingan dan halaman WordPress yang bisa Anda lakukan. Tutorial ini akan menjelaskan semua langkah-langkahnya, baik secara manual maupun dengan bantuan plugin.
Cara Membuat Duplikat Halaman WordPress dengan Plugin
Sebenarnya, membuat duplikat halaman atau postingan bisa mengganggu SEO website Anda kalau tidak dilakukan secara hati-hati. Namun, ada kalanya Anda memang perlu melakukannya, misalnya sebagai template untuk postingan atau halaman baru di website Anda.
Untungnya, dengan bantuan plugin Duplicate Post, Anda bisa dengan mudah menggandakan halaman atau posting tanpa harus khawatir membuat kesalahan.
Silakan lihat juga pilihan plugin WordPress terbaik kami untuk menduplikasi posting, halaman, dan jenis posting khusus. Selain itu, kami juga akan menunjukkan cara menggunakannya:
1. Plugin Duplicate Post
Untuk cloning halaman atau post di WordPress, maka solusi terbaiknya adalah menggunakan plugin Duplicate Post. Dengan plugin ini, Anda tak hanya bisa membuat clone, tetapi juga dapat menambahkan opsi kustomisasi.
Miliki juga suffix atau prefix yang telah dibuat sebelumnya dan dapat ditambahkan sebelum atau sesudah judul dari halaman atau post yang diduplikasi. Anda pun memiliki hak untuk membatasi fungsionalitas plugin berdasarkan user role.
Ikuti langkah-langkah di bawah ini untuk duplicate WordPpress post atau halaman dengan plugin:
- Install dan aktifkan plugin
- Klik Pages -> All Pages.
- Arahkan kursor ke halaman atau post yang ingin digandakan. Ada dua opsi baru di sini – Clone dan New Draft.
- Klik Clone untuk membuat versi salinan dari post yang telah Anda pilih.
- Klik New Draft untuk membuat versi salinan dari post yang telah Anda pilih, kemudian buka editor post jika ingin mengeditnya. Di editor post, Anda bisa menyimpan atau langsung mem-publish-nya.
2. Duplicate Page and Post
Duplicate Page and Post adalah plugin alternatif yang bisa Anda manfaatkan untuk duplicate WordPress post dan halaman dengan cepat. Dengan plugin ini, meskipun Anda membuat salinan dari suatu halaman atau post, konten, judul, dan tampilannya tetap terjaga dan tidak berubah.
Plugin ini mudah digunakan. Anda hanya perlu mengikuti langkah-langkahnya di bawah ini:
- Install dan aktifkan plugin Duplicate Page and Post.
- Buka Pages -> All Pages jika Anda ingin membuat salinan dari halaman, atau Posts -> All Posts jika Anda ingin membuat salinan dari post.
- Pilih post yang ingin disalin dan klik Clone Me.
- Anda akan diarahkan ke masing-masing salinan post atau halaman. Edit dan klik Publish atau Save Draft.
3. Post Duplicator
Selain dua plugin di atas, cara clone website juga bisa dilakukan dengan Post Duplicator. Plugin ini akan membuat salinan yang tepat dari post pilihan tetapi tidak mengubah custom field dan custom taxonomy.
Berikut langkah-langkah yang harus Anda lakukan:
- Install dan aktifkan plugin.
- Pilih post atau halaman yang ingin Anda salin dan klik Duplicate Post/Duplicate Page untuk membuat salinan.
- Plugin akan melakukan duplicate WordPress post atau halaman dengan cepat.
Cara Duplikasi Halaman atau Post WordPress Tanpa Bantuan Plugin
Catatan: Kami sangat menyarankan Anda untuk backup website sebelum mengedit file WordPress apa pun.
Selain memanfaatkan plugin, Anda juga bisa menggunakan kode untuk melakukan duplicate WordPress post dan halaman. Apabila Anda menguasai bahasa pemrograman, maka penggunaan kode adalah pilihan yang tepat. Namun, jika Anda tidak begitu familiar dengan coding, maka kami siap membantu Anda. Berikut snippet kode yang dapat Anda gunakan untuk menduplikasi post WordPress:
/* * Function for post duplication. Dups appear as drafts. User is redirected to the edit screen */ function rd_duplicate_post_as_draft(){ global $wpdb; if (! ( isset( $_GET['post']) || isset( $_POST['post']) || ( isset($_REQUEST['action']) && 'rd_duplicate_post_as_draft' == $_REQUEST['action'] ) ) ) { wp_die('No post to duplicate has been supplied!'); } /* * Nonce verification */ if ( !isset( $_GET['duplicate_nonce'] ) || !wp_verify_nonce( $_GET['duplicate_nonce'], basename( __FILE__ ) ) ) return; /* * get the original post id */ $post_id = (isset($_GET['post']) ? absint( $_GET['post'] ) : absint( $_POST['post'] ) ); /* * and all the original post data then */ $post = get_post( $post_id ); /* * if you don't want current user to be the new post author, * then change next couple of lines to this: $new_post_author = $post->post_author; */ $current_user = wp_get_current_user(); $new_post_author = $current_user->ID; /* * if post data exists, create the post duplicate */ if (isset( $post ) && $post != null) { /* * new post data array */ $args = array( 'comment_status' => $post->comment_status, 'ping_status' => $post->ping_status, 'post_author' => $new_post_author, 'post_content' => $post->post_content, 'post_excerpt' => $post->post_excerpt, 'post_name' => $post->post_name, 'post_parent' => $post->post_parent, 'post_password' => $post->post_password, 'post_status' => 'draft', 'post_title' => $post->post_title, 'post_type' => $post->post_type, 'to_ping' => $post->to_ping, 'menu_order' => $post->menu_order ); /* * insert the post by wp_insert_post() function */ $new_post_id = wp_insert_post( $args ); /* * get all current post terms ad set them to the new post draft */ $taxonomies = get_object_taxonomies($post->post_type); // returns array of taxonomy names for post type, ex array("category", "post_tag"); foreach ($taxonomies as $taxonomy) { $post_terms = wp_get_object_terms($post_id, $taxonomy, array('fields' => 'slugs')); wp_set_object_terms($new_post_id, $post_terms, $taxonomy, false); } /* * duplicate all post meta just in two SQL queries */ $post_meta_infos = $wpdb->get_results("SELECT meta_key, meta_value FROM $wpdb->postmeta WHERE post_id=$post_id"); if (count($post_meta_infos)!=0) { $sql_query = "INSERT INTO $wpdb->postmeta (post_id, meta_key, meta_value) "; foreach ($post_meta_infos as $meta_info) { $meta_key = $meta_info->meta_key; if( $meta_key == '_wp_old_slug' ) continue; $meta_value = addslashes($meta_info->meta_value); $sql_query_sel[]= "SELECT $new_post_id, '$meta_key', '$meta_value'"; } $sql_query.= implode(" UNION ALL ", $sql_query_sel); $wpdb->query($sql_query); } /* * finally, redirect to the edit post screen for the new draft */ wp_redirect( admin_url( 'post.php?action=edit&post=' . $new_post_id ) ); exit; } else { wp_die('Post creation failed, could not find original post: ' . $post_id); } } add_action( 'admin_action_rd_duplicate_post_as_draft', 'rd_duplicate_post_as_draft' ); /* * Add the duplicate link to action list for post_row_actions */ function rd_duplicate_post_link( $actions, $post ) { if (current_user_can('edit_posts')) { $actions['duplicate'] = '<a href="' . wp_nonce_url('admin.php?action=rd_duplicate_post_as_draft&post=' . $post->ID, basename(__FILE__), 'duplicate_nonce' ) . '" title="Duplicate this item" rel="permalink">Duplicate</a>'; } return $actions; } add_filter( 'post_row_actions', 'rd_duplicate_post_link', 10, 2 );
Snippet kode di atas hanya bisa digunakan untuk menyalin post WordPress. Untuk melakukan duplikat halaman WordPress, cukup hapus baris terakhir dan ganti dengan snippet ini:
add_filter('page_row_actions', 'rd_duplicate_post_link', 10, 2);
Kode-kode di atas bisa di-copy/paste di file functions.php. Buka File Manager, aplikasi FTP, atau editor file WordPress:
Buka All Posts atau All Pages. Anda akan melihat tombol Duplicate.
Jika tombol ini diklik, maka WordPress akan membuat salinan halaman atau post dan menyimpannya sebagai draft.
Kesimpulan
Kami berharap dengan adanya tutorial ini, Anda bisa melakukan duplicate WordPress post dan halaman. Ikuti saja langkah-langkah yang telah kami jabarkan agar proses duplikasi berjalan lancar. Jangan lupa pula untuk memanfaatkan plugin dan kode yang telah kami sebutkan. Pilihlah metode dan cara yang sesuai kebutuhan Anda.
Punya pertanyaan atau pengalaman yang ingin dibagikan terkait duplikasi WordPress? Tinggalkan komentar Anda pada kolom di bawah ini!
Komentar
August 20 2020
Mantap infonya, jadi kita kadang butuh duplicate page atau post sebelum ngubahnya, biar ada pertinggal. terimakasih ya.