Cara Benar Menggandakan Halaman di WordPress (dengan 2 cara)
Diterbitkan: 2022-09-23Jangan buang waktu untuk menduplikasi setiap halaman di situs WordPress Anda secara manual. Jika Anda memiliki niat untuk menduplikasi banyak halaman, izinkan kami menunjukkan kepada Anda 2 solusi untuk menggandakan Halaman di WordPress dengan cara yang mudah dan menghemat waktu.
Kapan Anda perlu menggandakan Halaman di WordPress?
Terkadang, Anda perlu menduplikasi halaman di WordPress untuk menampilkan konten yang berbeda tetapi dalam tata letak halaman yang sama. Anda dapat melakukannya secara manual, yang berarti Anda harus menyalin template dan elemen SEO termasuk deskripsi meta dan tag judul. Dan proses ini diulang berkali-kali yang membutuhkan waktu dan usaha Anda.
Jika Anda membutuhkan solusi lain yang lebih nyaman dan hemat waktu namun tetap efektif, saran untuk Anda adalah menggandakan halaman di WordPress melalui plugin atau file functions.php. Hari ini, kami ingin memberi Anda petunjuk terperinci tentang itu. Mari kita mulai!
Cara menduplikasi Halaman di WordPress
Sebenarnya, ada dua metode utama untuk menduplikasi halaman di WordPress. Yang pertama adalah menggunakan Plugin Duplikator WordPress untuk melakukan itu. Dan satu lagi adalah menambahkan kode ke file functions.php untuk menghasilkan halaman duplikat atau bahkan duplikat posting.
Namun, kami menyarankan Anda untuk memilih plugin untuk mencapai tujuan Anda. Menambahkan kode ke editor file tema terkadang menyebabkan kesalahan untuk situs WordPress Anda dan semuanya menjadi rumit. Jadi, ada baiknya Anda mendapatkan solusi yang aman.
Menggunakan plugin untuk menduplikasi Halaman di WordPress
Sejujurnya, di pasar saat ini, banyak plugin yang berguna muncul untuk membantu Anda menduplikasi halaman di WordPress. Namun, kami ingin memperkenalkan dua plugin yang mudah digunakan dan efektif: Yoast Duplicate Post dan Duplicate Page and Post.
Sekarang, mari kita lihat instruksi terperinci untuk menggunakan Yoast Duplicate Post untuk situs WordPress Anda.
- Masuk ke dasbor admin WordPress Anda -> Buka Plugin -> Tambah Baru .
- Temukan Yoast Duplicate Post -> Instal dan aktifkan .
- Di dasbor admin, pilih Buka Halaman -> Semua Halaman .
- Pilih halaman yang ingin digandakan, akan ada 2 opsi baru: Clone dan New Draft .
- Jika Anda berharap untuk menggandakan halaman di WordPress , cukup klik tombol Klon . Jika Anda perlu membuat halaman baru yang berisi konten yang disalin , mari pilih opsi Draf Baru .
Plugin lain untuk membantu Anda mengkloning halaman saat ini adalah Duplicate Page dan Post . Mari ikuti langkah di bawah ini:
- Masuk ke dasbor admin WordPress Anda -> Buka Plugin -> Tambah Baru .
- Cari Halaman Duplikat dan Posting -> Instal dan aktifkan .
- Akses Buka Halaman -> Semua Halaman .
- Klik pada halaman yang perlu Anda salin, opsi Duplikat akan muncul untuk Anda lakukan. Setelah menekannya, draf baru akan tersedia bagi Anda untuk mengedit konten.
Menggunakan File Functions.php untuk menduplikasi Halaman di WordPress
Cara kedua untuk menduplikasi halaman di WordPress adalah dengan memasukkan kode ke dalam file Functions.php. Untuk melakukannya, mari kita buka Appearance -> Theme File Editor -> Functions.php .
Sekarang, saatnya Anda menduplikasi halaman di WordPress dengan menambahkan potongan kode berikut ke file functions.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'] = '<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('page_row_actions', 'rd_duplicate_post_link', 10, 2);

Bungkus
Singkatnya, mari hemat waktu dalam mengkloning halaman dengan mengikuti salah satu dari dua metode untuk menduplikasi halaman di WordPress di atas. Jika Anda memiliki masalah terkait topik, mengapa Anda tidak meninggalkan komentar Anda di bawah agar kami dapat mendukung Anda?
Last but not least, jangan lupa bahwa pasar kami menawarkan banyak Tema WordPress Gratis yang ramah seluler dan menarik. Jadi, jangan lewatkan mereka jika Anda perlu mendapatkan tema baru untuk situs WordPress Anda!