Cara Menduplikasi Halaman/Pos WordPress dengan Mudah
Diterbitkan: 2021-11-05
Menduplikasi konten halaman atau posting Anda yang ada dapat berguna dalam banyak situasi. Anda dapat menggunakan posting/halaman utama sebagai templat dan menyelesaikan tugas Anda dengan cepat. Bisakah Anda memikirkan berapa banyak waktu yang dibutuhkan jika Anda harus membuat ulang konten halaman/posting yang sama?
Yah, aku tidak bisa membayangkan itu. Untungnya ada cara untuk menduplikasi konten di halaman/posting WordPress. Dalam posting ini, saya akan menunjukkan kepada Anda cara menduplikasi halaman / posting WordPress secara instan.
Mari kita mulai.
- Mengapa Menduplikasi Halaman/Pos WordPress?
- Duplikat Konten Di WordPress Dengan Plugin
- Halaman/Pos Duplikat WordPress Tanpa Plugin
- Kata-kata Terakhir
Mengapa Menduplikasi Halaman/Pos WordPress?
Saat Anda membawa beberapa perubahan baru di halaman atau posting Anda, Anda mungkin perlu mengkloning halaman/posting dengan cepat.
Misalnya, Anda memiliki halaman penjualan dengan banyak bagian; sekarang Anda perlu membuat halaman penjualan yang sama lagi untuk produk yang berbeda apa yang akan Anda lakukan? Buat seluruh halaman lagi?
Tentu saja tidak. Anda akan bisa mendapatkan halaman yang sama persis dengan menggandakannya. Anda akan dapat mulai mengerjakannya segera dan menghemat waktu. Anda dapat menduplikasi halaman/posting WordPress dengan dua cara – 1. Dengan plugin, 2. Tanpa plugin.
Duplikat Konten Di WordPress Dengan Plugin
Ada beberapa plugin seperti- Duplicate Page, Post Duplicator, Duplicate page and Post, Page, dan Any Custom Post; yang membantu Anda untuk menduplikasi halaman/posting WordPress secara instan. Namun yang paling populer adalah Yoast Duplicate Post.
Pada awalnya, instal dan aktifkan plugin Yoast Duplicate Post dari direktori plugin WordPress.
Dari dasbor, buka Posting -> All Post. (Untuk menduplikasi halaman, buka Halaman -> Semua Halaman)
Sekarang Arahkan kursor Anda ke pos mana pun, dan Anda akan melihat dua opsi baru – 'Klon dan Draf Baru.'
Sekarang klik pada tombol klon untuk menduplikasi posting.
Namun, jika Anda ingin membuat tiruan dan segera membukanya di editor pos, klik tombol 'Draf Baru'.
Halaman/Pos Duplikat WordPress Tanpa Plugin
Jika Anda tidak ingin menambah jumlah plugin yang diinstal, Anda dapat mengikuti metode ini. Ini sangat sederhana, yang harus Anda lakukan adalah menyalin beberapa kode ke file function.php dan kemudian Anda akan dapat menduplikasi halaman/posting WordPress dengan sangat mudah.
Catatan: Sebelum mengedit file WordPress apa pun, disarankan untuk membuat cadangan situs web Anda terlebih dahulu.
Pada awalnya, navigasikan ke Appearance -> Theme Editor dan klik 'Theme Functions'. Sekarang salin kode berikut dan tempel di sini.
/* * 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 );Jangan lupa untuk Perbarui File.
Kode di atas akan berfungsi untuk menduplikasi posting. Jika Anda ingin menggandakan halaman, cukup ganti baris terakhir dengan kode berikut:
add_filter('page_row_actions', 'rd_duplicate_post_link', 10, 2);Kata-kata Terakhir
Saya harap sekarang Anda sudah mendapatkan cara mudah untuk menduplikasi halaman/posting WordPress. Tidak masalah apakah Anda menggunakan plugin atau tidak; Anda akan mendapatkan hasil yang sama di kedua cara. Jika Anda memiliki pertanyaan atau saran, beri tahu saya melalui kotak komentar di bawah.


