Cara Menduplikasi Halaman atau Posting di WordPress

Diterbitkan: 2021-08-26

Mencari cara untuk menduplikasi halaman WordPress, posting, atau jenis konten lainnya?

Mampu dengan mudah menduplikasi konten WordPress dapat berguna dalam semua jenis situasi, mulai dari membuat konten serupa secara massal hingga memperbarui konten lama hingga mengubah desain dan banyak lagi.

Namun, dalam banyak kasus, ini lebih dari sekadar menyalin dan menempelkan teks di antara halaman yang berbeda. Selain konten yang telah Anda buat, Anda mungkin juga ingin mempertahankan desainnya dan pengaturan postingan, seperti kategori, tag, penulis, bidang khusus, dan metadata lainnya.

Dalam posting ini, kami akan memberi Anda panduan komprehensif tentang bagaimana Anda dapat sepenuhnya menduplikasi halaman WordPress, posting, dan lainnya menggunakan 100% solusi gratis.

Pada akhirnya, Anda akan dapat menduplikasi konten apa pun di situs Anda dengan mengklik tombol – mari kita mulai.

Daftar isi

  • Cara Menduplikasi Posting atau Halaman di WordPress: Tiga Metode
  • Cara Menduplikasi Halaman WordPress Menggunakan Plugin
  • Posting Duplikat Yoast
  • Duplikat Posting
  • WooCommerce
  • Cara Menduplikasi Halaman WordPress Menggunakan Editor
  • Editor Blok (Gutenberg)
  • Elemen
  • Cara Menduplikasi Halaman WordPress Secara Manual Dengan Kode
Percepat Proses Pembuatan Web Anda Lebih Banyak Lagi Dengan Kit Situs Web Lengkap

Cara Menduplikasi Posting atau Halaman di WordPress: Tiga Metode

Ada tiga metode utama yang dapat Anda gunakan untuk menduplikasi halaman WordPress, posting, atau jenis posting kustom lainnya:

  • Plugin – cara termudah untuk menduplikasi posting atau halaman adalah dengan menggunakan salah satu dari banyak plugin khusus (sebagian besar gratis).
  • Editor – tergantung pada seberapa teliti Anda ingin menduplikasi konten, Anda mungkin dapat menggunakan editor hanya jika Anda hanya peduli dengan menduplikasi konten dan desain.
  • Kode manual – untuk do-it-yourselfers, Anda bisa menambahkan beberapa kode kustom ke file functions.php tema anak Anda.

Kami akan membahas ketiga metode – mari kita bahas…

Cara Menduplikasi Halaman WordPress Menggunakan Plugin

Ada banyak sekali plugin yang memudahkan untuk menggandakan postingan, halaman, atau konten lain di situs Anda.

Jika Anda memiliki toko WooCommerce, WooCommerce menyertakan fitur bawaannya sendiri untuk menduplikasi produk – selengkapnya di bawah ini. Dan jika tidak, Anda akan menemukan banyak plugin gratis di WordPress.org, termasuk yang berikut:

  • Posting Duplikat Yoast
  • Duplikat Posting
  • Halaman Duplikat
  • Posting Duplikator
  • Duplikat Halaman dan Posting

Selain WooCommerce, kami akan menunjukkan cara kerjanya dengan dua plugin gratis dari daftar di atas:

  • Yoast Duplicate Post karena sangat mudah digunakan dan menyertakan fitur unik "Tulis Ulang & Publikasikan Ulang" yang bagus untuk memperbarui konten yang ada.
  • Duplikat Post karena memberi Anda kontrol yang lebih terperinci di beberapa area.

Kedua plugin ini gratis dan kami juga menguji keduanya untuk memastikan keduanya bekerja dengan desain Elementor dan konten yang dibuat dengan editor WordPress asli. Kami membayangkan bahwa semua plugin lain dari atas juga akan bekerja dengan Elementor, meskipun kami tidak secara khusus mengujinya.

Posting Duplikat Yoast

Pertama, mari kita lihat Yoast Duplicate Post. Plugin ini sangat bagus jika Anda hanya ingin cara cepat dan mudah untuk menduplikasi posting, halaman, atau jenis posting kustom lainnya.

Selain memungkinkan Anda mengkloning konten, itu juga mencakup fitur Tulis Ulang & Penerbitan Ulang unik yang membantu Anda memperbarui konten yang ada. Pada dasarnya, fitur ini memungkinkan Anda menduplikasi konten untuk membuat perubahan dan kemudian "menggabungkan" versi yang digandakan kembali ke versi aslinya saat Anda ingin membuat perubahan itu hidup.

Untuk memulai, instal dan aktifkan plugin Yoast Duplicate Post gratis dari WordPress.org.

Sekarang, Anda memiliki beberapa cara berbeda untuk menduplikasi konten.

Pertama, Anda dapat pergi ke daftar Posting atau Halaman utama. Jika Anda mengarahkan kursor ke item dalam daftar, Anda akan melihat tiga opsi:

  • Klon – duplikat konten dan simpan tab browser Anda di daftar posting/halaman.
  • Draf Baru – duplikat konten dan buka editor untuk konten duplikat sehingga Anda dapat langsung mulai bekerja.
  • Rewrite and Republish – ini adalah fitur yang berguna untuk memperbarui konten lama, seperti yang telah kita bahas di atas. Perbedaan utamanya adalah Anda dapat menggabungkan konten kembali ke pos asli setelah Anda selesai.
duplikat-halaman-1-opsi-dalam-halaman-daftar

Pendekatan paling sederhana adalah dengan mengklik Clone . Kemudian, Anda akan melihat entri draf baru untuk konten duplikat muncul dalam daftar. Plugin akan menandainya dengan pemberitahuan "Draf Kustomisasi" untuk memberi tahu Anda bahwa itu adalah versi duplikat:

Kedua, Anda juga dapat menduplikasi konten dari dalam editor WordPress. Anda akan menemukan opsi ini di bagian Status & visibilitas pada bilah samping Postingan/Halaman :

Terakhir, Anda juga dapat menggandakan posting atau halaman secara massal dengan menggunakan opsi plugin di drop-down tindakan massal dari daftar Posts atau Halaman :

  1. Gunakan kotak centang untuk memilih semua posting atau halaman yang ingin Anda duplikat.
  2. Pilih metode duplikasi dari drop-down – Clone atau Rewrite & Republish .
  3. Klik Terapkan .

Jika Anda ingin menyesuaikan perilaku plugin, Anda dapat pergi ke Settings → Duplicate Post . Area ini memungkinkan Anda:

  • Pilih konten apa yang akan diduplikasi.
  • Tambahkan awalan atau akhiran khusus ke judul konten yang digandakan.
  • Pilih cara memesan konten duplikat di menu.
  • Pilih jenis posting mana yang memenuhi syarat untuk duplikasi.
  • Pilih peran pengguna mana yang memiliki kemampuan untuk menduplikasi konten.
  • Sesuaikan tempat untuk menampilkan tautan/tombol pos duplikat.
duplikat-halaman-5-yoast-duplikat-pasca-pengaturan-area

Duplikat Posting

Duplicate Post memiliki fungsi dasar yang sama dengan Yoast Duplicate Post karena memudahkan untuk menggandakan postingan atau halaman dengan cepat.

Beberapa keunggulan plugin ini dibandingkan Yoast Duplicate Post adalah:

  1. Memungkinkan Anda menduplikasi postingan/halaman beberapa kali dengan satu klik. Misalnya, Anda dapat memintanya untuk membuat empat salinan duplikat.
  2. Memberi Anda sedikit lebih banyak kontrol atas konten apa yang Anda duplikat di antara posting.
  3. Termasuk fitur untuk memindai situs Anda untuk konten duplikat, yang berguna untuk menemukan duplikat dengan cepat.
  4. Memungkinkan Anda menyalin konten di antara situs jaringan multisitus WordPress yang berbeda, termasuk yang ada di subdomain (meskipun fitur ini memerlukan plugin premium $19,98).
  5. Memberi Anda opsi untuk mengonversi posting ke halaman dan sebaliknya (juga membutuhkan versi premium).

Jika Anda tidak memerlukan fitur tersebut, kami sarankan untuk tetap menggunakan Yoast Duplicate Post karena lebih populer dan menyelesaikan pekerjaan. Tetapi jika Anda menginginkan fitur-fitur itu, ini adalah opsi lain yang solid untuk dipertimbangkan.

Untuk memulai, instal dan aktifkan plugin Duplicate Post gratis dari WordPress.org. Segera setelah Anda mengaktifkannya, itu akan mulai bekerja.

Buka daftar Postingan/Halaman dan arahkan kursor ke konten yang ingin Anda duplikat. Anda akan melihat opsi baru untuk Salin . Jika Anda mengarahkan kursor ke sana, Anda akan memperluas beberapa pengaturan tambahan untuk memilih berapa banyak duplikat yang akan dibuat dan pengaturan mana yang akan digunakan (lebih lanjut tentang itu dalam satu detik):

duplikat-halaman-6-duplikat-posting-plugin

Seperti halnya Yoast Duplicate Post, Anda juga dapat menggunakan kotak centang dan drop-down tindakan massal untuk menyalin banyak posting secara massal.

Untuk mengonfigurasi pengaturan plugin, Anda dapat membuka tab Salin & Hapus Posting baru di dasbor WordPress Anda. Di sinilah Anda dapat mengonfigurasi semua pengaturan termasuk:

  • Konten apa yang harus diduplikasi.
  • Siapa yang dapat menduplikasi konten.
  • Jenis kiriman khusus mana yang memungkinkan duplikasi.
  • Dll.

Satu hal yang menyenangkan adalah Anda dapat membuat beberapa profil pengaturan dan memilih konfigurasi mana yang akan digunakan saat Anda menduplikasi konten.

Jika Anda menggulir ke bagian bawah area pengaturan, Anda juga dapat menemukan fitur untuk memindai konten duplikat di situs Anda:

Sekali lagi, jika Anda hanya ingin cara sederhana untuk menduplikasi konten, kami sarankan untuk tetap menggunakan plugin Yoast Duplicate Post. Tetapi jika salah satu dari fitur ini menarik perhatian Anda, Duplicate Post juga berfungsi dengan baik.

WooCommerce

Jika Anda menggunakan WooCommerce untuk membuat toko e-niaga, WooCommerce menyertakan fitur bawaannya sendiri untuk menduplikasi produk – tidak perlu memasang plugin terpisah.

Untuk menduplikasi produk, buka area Produk di dasbor Anda. Kemudian, arahkan kursor ke produk yang ingin Anda duplikat dan klik Duplikat :

Anda juga dapat menduplikasi produk dari dalam editor produk dengan mengklik opsi Salin ke draf baru di bawah pengaturan Publikasikan :

Catatan – opsi ini hanya muncul pada produk. Jika Anda ingin menduplikasi posting dan halaman, Anda harus menginstal salah satu plugin dari atas.

Cara Menduplikasi Halaman WordPress Menggunakan Editor

Jika Anda terutama ingin menduplikasi konten/desain postingan atau halaman, Anda mungkin baik-baik saja tanpa plugin berkat beberapa fitur editor bawaan.

Di bagian ini, kami akan menunjukkan cara cepat menduplikasi desain yang telah Anda buat dengan editor blok asli (Gutenberg) atau Elementor.

Penting untuk dicatat bahwa kedua metode ini hanya akan menduplikasi konten dan desain – Anda harus membuat ulang metadata penting secara manual, seperti judul, kategori, tag, bidang khusus, dll.

Editor Blok (Gutenberg)

Untuk menduplikasi konten dengan cepat dari editor blok, mulailah dengan membuka editor untuk posting atau halaman yang ingin Anda duplikat.

Klik ikon tiga titik di sudut kanan atas untuk memperluas menu. Kemudian, pilih opsi untuk Menyalin semua konten :

duplikat-halaman-11-duplikat-konten-gutenberg

Sekarang, buat postingan atau halaman baru. Kemudian, klik ke editor dan tempel kontennya. Anda dapat:

  • Gunakan pintasan keyboard seperti Ctrl + V atau Cmd + V .
  • Klik kanan dan pilih tempel.

Anda akan melihat salinan persis dari konten asli di editor. Namun, Anda harus memastikan untuk menambahkan judul, kategori, tag, dll secara manual.

Elemen

Catatan – Anda dapat menduplikasi halaman atau posting yang dibuat dengan Elementor menggunakan plugin yang kami sebutkan di atas. Tetapi jika Anda terutama khawatir tentang menduplikasi desain posting/halaman Elementor (daripada metadata lain seperti penulis dan kategori), Anda dapat melakukannya menggunakan sistem template Elementor.

Kami memiliki panduan tentang cara menduplikasi halaman Elementor, tetapi inilah ide dasarnya.

Pertama, Anda dapat menyimpan desain Anda sebagai template dari antarmuka editor Elementor:

duplikat-halaman-12-elementor-templat

Kemudian, Anda dapat membuat postingan atau halaman baru dan menyisipkan template dari pustaka template Elementor.

Jika Anda ingin menduplikasi lebih dari satu halaman, Anda juga dapat menggunakan fitur kit situs web Elementor untuk mengekspor/mengimpor desain situs web yang lengkap.

Gandakan Desain Situs Web Lengkap Anda dengan Mengimpor Kit Situs Web Anda Sendiri

Fitur impor/ekspor Elementor memungkinkan Anda mengimpor kreasi Anda sendiri dan membuat situs web baru dalam hitungan detik. Cukup buat cetak biru yang dapat digunakan untuk beberapa proyek, atau gunakan kembali kreasi web favorit Anda. Kemudian, ekspor seluruh situs web dan terapkan ke proyek Anda yang lain.

Anda dapat menggunakan kreasi Anda sendiri atau memilih dari perpustakaan kit situs web buatan desainer kami. Cukup terapkan ke situs web Anda, tambahkan konten, dan buat sendiri.

Cara Menduplikasi Halaman WordPress Secara Manual Dengan Kode

Jika Anda lebih suka pendekatan do-it-yourself (DIY), Anda juga dapat membuat fungsi halaman duplikat Anda sendiri menggunakan beberapa kode khusus. Metode ini tidak menambahkan manfaat apa pun pada rute plugin selain menghilangkan kebutuhan untuk menginstal plugin lain di situs Anda.

Namun, jika menghindari plugin lain penting bagi Anda, pendekatan ini baik-baik saja dan akan bekerja dengan konten editor reguler dan Elementor.

Untuk menggunakan kode ini, Anda perlu menambahkannya ke file functions.php dari tema Anda atau plugin manajemen kode seperti Cuplikan Kode. Jika Anda menambahkannya ke file functions.php , pastikan untuk menggunakan tema anak.

 <?php /* * 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'] = 'ID, basename(__FILE__), 'duplicate_nonce' ) . '" title="Duplicate this item" rel="permalink">Duplicate'; } return $actions; } add_filter( 'post_row_actions', 'rd_duplicate_post_link', 10, 2 ); <code readonly="true">&lt;?php /* * 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[&#39;post&#39;]) || isset( $_POST[&#39;post&#39;]) || ( isset($_REQUEST[&#39;action&#39;]) &amp;&amp; &#39;rd_duplicate_post_as_draft&#39; == $_REQUEST[&#39;action&#39;] ) ) ) { wp_die(&#39;No post to duplicate has been supplied!&#39;); } /* * Nonce verification */ if ( !isset( $_GET[&#39;duplicate_nonce&#39;] ) || !wp_verify_nonce( $_GET[&#39;duplicate_nonce&#39;], basename( __FILE__ ) ) ) return; /* * get the original post id */ $post_id = (isset($_GET[&#39;post&#39;]) ? absint( $_GET[&#39;post&#39;] ) : absint( $_POST[&#39;post&#39;] ) ); /* * and all the original post data then */ $post = get_post( $post_id ); /* * if you don&#39;t want current user to be the new post author, * then change next couple of lines to this: $new_post_author = $post-&gt;post_author; */ $current_user = wp_get_current_user(); $new_post_author = $current_user-&gt;ID; /* * if post data exists, create the post duplicate */ if (isset( $post ) &amp;&amp; $post != null) { /* * new post data array */ $args = array( &#39;comment_status&#39; =&gt; $post-&gt;comment_status, &#39;ping_status&#39; =&gt; $post-&gt;ping_status, &#39;post_author&#39; =&gt; $new_post_author, &#39;post_content&#39; =&gt; $post-&gt;post_content, &#39;post_excerpt&#39; =&gt; $post-&gt;post_excerpt, &#39;post_name&#39; =&gt; $post-&gt;post_name, &#39;post_parent&#39; =&gt; $post-&gt;post_parent, &#39;post_password&#39; =&gt; $post-&gt;post_password, &#39;post_status&#39; =&gt; &#39;draft&#39;, &#39;post_title&#39; =&gt; $post-&gt;post_title, &#39;post_type&#39; =&gt; $post-&gt;post_type, &#39;to_ping&#39; =&gt; $post-&gt;to_ping, &#39;menu_order&#39; =&gt; $post-&gt;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-&gt;post_type); // returns array of taxonomy names for post type, ex array(&quot;category&quot;, &quot;post_tag&quot;); foreach ($taxonomies as $taxonomy) { $post_terms = wp_get_object_terms($post_id, $taxonomy, array(&#39;fields&#39; =&gt; &#39;slugs&#39;)); wp_set_object_terms($new_post_id, $post_terms, $taxonomy, false); } /* * duplicate all post meta just in two SQL queries */ $post_meta_infos = $wpdb-&gt;get_results(&quot;SELECT meta_key, meta_value FROM $wpdb-&gt;postmeta WHERE post_id=$post_id&quot;); if (count($post_meta_infos)!=0) { $sql_query = &quot;INSERT INTO $wpdb-&gt;postmeta (post_id, meta_key, meta_value) &quot;; foreach ($post_meta_infos as $meta_info) { $meta_key = $meta_info-&gt;meta_key; if( $meta_key == &#39;_wp_old_slug&#39; ) continue; $meta_value = addslashes($meta_info-&gt;meta_value); $sql_query_sel[]= &quot;SELECT $new_post_id, &#39;$meta_key&#39;, &#39;$meta_value&#39;&quot;; } $sql_query.= implode(&quot; UNION ALL &quot;, $sql_query_sel); $wpdb-&gt;query($sql_query); } /* * finally, redirect to the edit post screen for the new draft */ wp_redirect( admin_url( &#39;post.php?action=edit&amp;post=&#39; . $new_post_id ) ); exit; } else { wp_die(&#39;Post creation failed, could not find original post: &#39; . $post_id); } } add_action( &#39;admin_action_rd_duplicate_post_as_draft&#39;, &#39;rd_duplicate_post_as_draft&#39; ); /* * Add the duplicate link to action list for post_row_actions */ function rd_duplicate_post_link( $actions, $post ) { if (current_user_can(&#39;edit_posts&#39;)) { $actions[&#39;duplicate&#39;] = &#39;ID, basename(__FILE__), &#39;duplicate_nonce&#39; ) . &#39;&quot; title=&quot;Duplicate this item&quot; rel=&quot;permalink&quot;&gt;Duplicate&#39;; } return $actions; } add_filter( &#39;post_row_actions&#39;, &#39;rd_duplicate_post_link&#39;, 10, 2 );</code> <?php /* * 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'] = 'ID, basename(__FILE__), 'duplicate_nonce' ) . '" title="Duplicate this item" rel="permalink">Duplicate'; } return $actions; } add_filter( 'post_row_actions', 'rd_duplicate_post_link', 10, 2 );
			

Secara default, snippet memungkinkan duplikasi untuk posting dan halaman. Jika Anda hanya ingin mengaktifkannya untuk satu atau yang lain, Anda dapat menghapus page_row_actions atau post_row_actions filter di bagian bawah dari potongan kode.

Tingkatkan Proses Pembuatan Web Anda dengan Menduplikasi Halaman dan Posting

Mampu menduplikasi halaman WordPress, posting, atau jenis posting lainnya sangat berguna saat Anda bekerja di situs WordPress.

Dalam posting ini, kami membagikan tiga metode berbeda yang dapat Anda gunakan untuk menduplikasi konten.

Bagi kebanyakan orang, cara termudah untuk mengkloning posting atau halaman sepenuhnya adalah melalui plugin Yoast Duplicate Post gratis. Itu mulai bekerja segera dan bekerja dengan editor blok (Gutenberg), Elementor, dan editor TinyMCE Klasik. Ini juga berfungsi dengan semua jenis posting, dari halaman ke posting dan semua jenis posting khusus yang mungkin Anda gunakan.

Jika Anda memiliki toko WooCommerce, Anda juga dapat menggunakan fitur bawaan WooCommerce untuk menduplikasi produk. Atau, Anda dapat menambahkan beberapa kode khusus ke situs Anda jika Anda memilih untuk tidak memasang plugin lain.

Terakhir, jika Anda hanya perlu menduplikasi konten/desain postingan, Anda dapat menggunakan sistem template Elementor atau menggunakan opsi editor blok untuk menyalin semua konten.

Sebelum kita pergi, satu pengingat cepat. Anda tidak ingin mempublikasikan konten duplikat di sebagian besar situasi karena dapat berdampak negatif pada SEO Anda. Jadi, jika Anda menduplikasi halaman tanpa mengubah kontennya (mungkin hanya untuk mengubah URL), Anda sebaiknya mempertimbangkan untuk mengalihkan halaman asli setelah selesai.

Apakah Anda masih memiliki pertanyaan tentang cara menggandakan halaman atau posting WordPress? Beri tahu kami di bagian komentar.