WordPress

Cara Duplicate WordPress Post atau Halaman

Cara Duplicate WordPress Post atau Halaman

Tampilan halaman situs Anda saat ini terlihat sedikit membosankan. Seketika Anda ingin menggantinya dengan desain yang baru, tetapi di satu sisi Anda ingin tetap menjaga keutuhan konten (siapa tahu di masa mendatang konten yang lama dibutuhkan). Maka, cara terbaiknya adalah dengan meng-copy/paste dan simpan semua konten di draft. Sayangnya, langkah ini tidak ‘memindahkan’ atau tidak ‘menyertakan’ optimasi SEO, template halaman, gambar fitur, dan data terkait lainnya.

Cara clone website terhadap blog atau halaman yang sudah ada bisa menjadi alternatif lainnya untuk melakukan beberapa tweak di salah satu salinan sehingga Anda dapat membandingkannya dengan versi sebelumnya. Setidaknya ada banyak alasan dan penyebab mengapa Anda, suatu saat nanti, melakukan duplicate WordPress post atau halaman!

Jika saat ini Anda ingin mengubah tampilan post atau halaman tetapi tidak ingin mengubah konten, maka cara terbaiknya adalah dengan melakukan duplikat halaman WordPress. Dengan cara ini, Anda tak perlu membuang-buang waktu lagi. Cukup sekali klik saja masalah akan segera selesai. Di tutorial ini, Anda akan mempelajari cara duplicate WordPress post atau halaman dengan bantuan plugin yang merupakan pilihan terbaik dan termudah.

Yang Anda Butuhkan

Agar tutorial ini dapat dipahami dengan baik, Anda sebaiknya:

  • login ke Admin Panel WordPress

Opsi 1- Duplicate WordPress Post dengan 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:

  1. Install dan aktifkan pluginPlugin Duplicate WordPress Post
  2. Klik Pages -> All Pages.
  3. Arahkan kursor ke halaman atau post yang ingin digandakan. Ada dua opsi baru di sini – Clone dan New Draft.Halaman Salinan WordPress dan Buat Draft Baru
    • 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.

Opsi 2 – Cara Clone WordPress Post/Halaman degan Plugin 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:

  1. Install dan aktifkan plugin Duplicate Page and Post.Plugin Duplicate Page and Post WordPress
  2. Buka Pages -> All Pages jika Anda ingin membuat salinan dari halaman, atau Posts -> All Posts jika Anda ingin membuat salinan dari post.
  3. Pilih post yang ingin disalin dan klik Clone Me.Salinan Post WordPress
  4. Anda akan diarahkan ke masing-masing salinan post atau halaman. Edit dan klik Publish atau Save Draft.Post WordPress yang telah disalin

Opsi 3 – Cara Clone Website WordPress Post dan Halaman dengan 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:

  1. Install dan aktifkan plugin.Post Duplicator WordPress
  2. Pilih post atau halaman yang ingin Anda salin dan klik Duplicate Post/Duplicate Page untuk membuat salinan.Duplicate Page WordPress
  3. Plugin akan melakukan duplicate WordPress post atau halaman dengan cepat.Halaman WordPress yang telah diduplikasi

Opsi 4 – 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:Tambah fitur ke Duplicate WordPress Page

Buka All Posts atau All Pages. Anda akan melihat tombol Duplicate.

Tombol untuk duplikasi halaman atau post

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!

Tentang penulis

Ariata C.

Ariata suka sekali menulis dan menerjemahkan, dan sekarang ini bekerja sebagai translator di Hostinger Indonesia. Lewat artikel dan tutorial yang diterbitkan di blog Hostinger, Ariata ingin membagikan pengetahuan tentang website, WordPress, dan hal terkait hosting lainnya kepada para pembaca.

Tambah Komentar

Klik di sini untuk menulis komentar

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Gabung bersama ratusan ribu pelanggan di seluruh dunia

dan dapatkan tutorial baru langsung di email Anda

Please wait...

Abone olduğunuz için teşekkürler!

Dapatkan harga hemat!

Web Hosting Gratis Domain mulai dari

Rp.10.275
/bln