วิธีทำซ้ำหน้าหรือโพสต์ใน WordPress

เผยแพร่แล้ว: 2023-02-12

การทำสำเนาหน้าหรือโพสต์ใน WordPress อาจมีความหมายมากกว่าการคัดลอกและวางเนื้อหา คุณยังสามารถรักษาเทมเพลตเพจ ข้อมูล SEO และรูปภาพ เพื่อประหยัดเวลาในการออกแบบเว็บไซต์ใหม่หรืออัปเดตเนื้อหาของคุณ

โชคดีที่การทำซ้ำหน้าและโพสต์และข้อมูลที่เกี่ยวข้องทั้งหมดใน WordPress สามารถทำได้ง่าย มีวิธีง่ายๆ ในการทำงานให้เสร็จ ทั้งแบบมีและไม่มีปลั๊กอิน

ในบทความนี้ เราจะดูวิธีสร้างการโคลนหน้า WordPress ซ้ำหรือโพสต์อย่างปลอดภัย และแนะนำปลั๊กอินบางตัวที่สามารถช่วยได้ กระโดดเข้าไปเลย!

สารบัญ
1. โคลนหน้าใน WordPress ได้อย่างง่ายดายด้วยปลั๊กอินเหล่านี้
1.1. 1. โพสต์ซ้ำ
1.2. 2. หน้าซ้ำและโพสต์
1.3. 3. หน้าซ้ำ
1.4. 4. โพสต์โรเนียว
2. ทำซ้ำหน้าใน WordPress โดยไม่ต้องใช้ปลั๊กอิน
2.1. 1. เปิดใช้งานการโคลนผ่านรหัส funtions.php
2.2. 2. คัดลอกและวางรหัสด้วยตนเองเพื่อทำซ้ำหน้า
3. เรียนรู้ต่อไปด้วย WP Engine

โคลนเพจใน WordPress อย่างง่ายดายด้วยปลั๊กอินเหล่านี้

การโคลนหน้าใน WordPress ทำได้ง่ายมากเมื่อคุณใช้ปลั๊กอิน WordPress เพราะทุกอย่างจะทำในแดชบอร์ดของคุณ นอกจากนี้ ปลั๊กอินยังเป็นวิธีที่ปลอดภัยที่สุดในการทำซ้ำโพสต์หรือเพจ เนื่องจากคุณจะไม่แก้ไขโค้ดของไซต์โดยตรง

หากคุณกำลังมองหาเครื่องมือที่เหมาะสม นี่คือปลั๊กอินสี่ตัวที่ควรค่าแก่การลองใช้

1. โพสต์ซ้ำ

หนึ่งในตัวเลือกสำหรับหน้า WordPress และการโคลนโพสต์คือ Duplicate Post ปลั๊กอินยอดนิยมนี้ใช้งานง่าย และโคลนทุกอย่างตั้งแต่เนื้อหาของเพจหรือโพสต์ไปจนถึงความคิดเห็นที่เกี่ยวข้อง นอกจากนี้ยังมีตัวเลือกคำนำหน้าหรือคำต่อท้าย เพื่อแยกความแตกต่างของโพสต์ต้นฉบับและตัวโคลน

หากต้องการทำซ้ำโพสต์ WordPress ด้วยเครื่องมือนี้ คุณเพียงแค่ต้อง:

  1. ติดตั้งและเปิดใช้งานปลั๊กอิน
  2. ในแดชบอร์ด WordPress ของคุณ ให้ไปที่ โพสต์ > ทั้งหมด เมื่อโคลนโพสต์ หรือ หน้า > ทั้งหมด เมื่อโคลนหน้า
  3. ไปที่หน้าต้นฉบับหรือโพสต์ที่คุณต้องการคัดลอก แล้วคลิก โคลน เพื่อทำซ้ำ
  4. สามารถเลือกหน้าหรือโพสต์ได้หลายหน้า และคุณสามารถโคลนทั้งหมดได้ในคราวเดียวโดยใช้ การดำเนินการแบบกลุ่ม

2. หน้าซ้ำและโพสต์

เพจและโพสต์ที่ซ้ำกันไม่มีฟีเจอร์มากมาย แต่ทำขึ้นเพื่อความรวดเร็ว ปลั๊กอินโพสต์ซ้ำที่มีน้ำหนักเบานี้เป็นหนึ่งในวิธีที่เร็วที่สุดในการโคลนโพสต์หรือเพจใน WordPress และจะไม่ทำให้ไซต์ของคุณต้องเสียเปรียบโดยไม่จำเป็น

ในการโคลนเพจหรือโพสต์ด้วยปลั๊กอินนี้ ให้ใช้ขั้นตอนต่อไปนี้:

  1. ติดตั้งและเปิดใช้งานปลั๊กอิน
  2. ไปที่ โพสต์ > ทั้งหมด หรือ เพจ > ทั้งหมด ขึ้นอยู่กับสิ่งที่คุณต้องการทำซ้ำ
  3. วางเมาส์เหนือหน้าหรือโพสต์ที่คุณต้องการโคลน
  4. คลิกที่ตัวเลือก ทำซ้ำ

3. หน้าซ้ำ

Duplicate Page มีคุณสมบัติเพิ่มเติมบางอย่างที่ปลั๊กอินการโคลนอื่น ๆ ไม่มีให้ ปลั๊กอินนี้จะคัดลอกโพสต์ เพจ และประเภทโพสต์ที่กำหนดเอง นอกจากนี้คุณยังสามารถบันทึกสำเนาผลลัพธ์เป็นแบบร่าง รอดำเนินการ สาธารณะหรือส่วนตัว

หากต้องการใช้หน้าซ้ำ คุณเพียงแค่ต้อง:

  1. ติดตั้งและเปิดใช้งานปลั๊กอิน
  2. กำหนดการตั้งค่าให้ตรงกับความต้องการของคุณ
  3. ไปที่ หน้า > ทั้งหมด หรือ โพสต์ > ทั้งหมด เพื่อค้นหาเนื้อหาที่คุณต้องการทำซ้ำ
  4. คลิกที่ตัวเลือก ทำซ้ำนี้

4. โพสต์โรเนียว

ปลั๊กอินการโคลนอย่างง่ายอีกตัวคือ Post Duplicator โซลูชันนี้จะสร้างโพสต์หรือเพจใดๆ ที่ซ้ำกันทุกประการ รวมถึงประเภทโพสต์ที่กำหนดเอง ฟิลด์ที่กำหนดเอง และอนุกรมวิธานที่กำหนดเอง ใช้งานง่ายและรวดเร็ว และไม่ควรเพิ่มน้ำหนักให้กับไซต์ของคุณมากนัก

หากต้องการทำซ้ำเนื้อหาด้วยเครื่องมือนี้ ให้ทำตามขั้นตอนเหล่านี้:

  1. ติดตั้งปลั๊กอินและเปิดใช้งาน
  2. ไปที่ โพสต์ > ทั้งหมด หรือ หน้า > ทั้งหมด เพื่อค้นหาเนื้อหาที่คุณต้องการโคลน
  3. วางเมาส์เหนือโพสต์หรือเพจ
  4. คลิกที่ตัวเลือก หน้าซ้ำ หรือ โพสต์ซ้ำ

ทำซ้ำหน้าใน WordPress โดยไม่ต้องใช้ปลั๊กอิน

แน่นอน คุณไม่จำเป็นต้องใช้ปลั๊กอินเพื่อโคลนเพจหรือโพสต์ใน WordPress นอกจากนี้ยังสามารถทำได้ด้วยตนเอง โดยแก้ไขไฟล์ funtions.php หรือคัดลอกและวางรหัสที่เกี่ยวข้อง มาดูกันว่าทั้งสองวิธีทำงานอย่างไร

1. เปิดใช้งานการโคลนผ่านรหัส funtions.php

วิธีหนึ่งในการโคลนหน้าหรือโพสต์ WordPress แบบแมนนวลคือการแก้ไขโค้ดในไฟล์ functions.php ของคุณ แม้ว่าจะสามารถทำได้ง่าย แต่คุณต้องระมัดระวังและทำการสำรองข้อมูลเว็บไซต์ของคุณก่อน

หากต้องการเปิดใช้งานการโคลนโพสต์ คุณจะต้องเข้าถึงไฟล์ functions.php ของคุณและเปิดเพื่อแก้ไขโดยใช้ Secure File Transfer Protocol (FTP) หรือวิธีอื่นที่คุณต้องการ จากนั้นคุณจะต้องเพิ่มข้อมูลโค้ดต่อไปนี้ที่ส่วนท้ายของไฟล์:

/*
* 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 );

หากต้องการเปิดใช้งานการโคลนสำหรับเพจด้วย ให้ใช้โค้ดเดียวกันแต่แทนที่บรรทัดสุดท้ายด้วย:

add_filter('page_row_actions', 'rd_duplicate_post_link', 10, 2);

หลังจากนั้น คุณสามารถบันทึกไฟล์และอัปโหลดซ้ำไปยังเซิร์ฟเวอร์ของคุณได้ จากนั้นคุณสามารถกลับไปที่แดชบอร์ด WordPress ของคุณ ตอนนี้ปุ่ม ทำซ้ำ ควรปรากฏขึ้นเมื่อคุณวางเมาส์เหนือหน้าหรือโพสต์ที่คุณต้องการลอกแบบ

2. คัดลอกและวางรหัสด้วยตนเองเพื่อทำซ้ำหน้า

หากคุณไม่ต้องการแก้ไขไฟล์ functions.php คุณสามารถคัดลอกและวางโค้ดสำหรับเพจหรือโพสต์ที่คุณต้องการโคลนได้ด้วยตนเอง ในการทำเช่นนี้ คุณจะต้อง:

  1. เปิดหน้าหรือโพสต์ที่คุณต้องการทำซ้ำ
  2. คลิกที่เมนู เครื่องมือและตัวเลือกเพิ่มเติม
  3. เลือก ตัวแก้ไขโค้ด
  4. คัดลอกโค้ดสำหรับเพจหรือโพสต์
  5. คลิกที่ โพสต์ใหม่ หรือ หน้าใหม่
  6. ในโพสต์หรือเพจใหม่ ให้เปิด ตัวแก้ไขโค้ด
  7. วางรหัส
  8. คลิกที่เมนู เครื่องมือและตัวเลือกเพิ่มเติม
  9. เลือก Visual Editor
  10. หน้าหรือโพสต์ใหม่ควรเป็นสำเนาของหน้าเก่า

กระบวนการนี้อาจใช้เวลาเล็กน้อย และคุณจะต้องดำเนินการทีละหน้าสำหรับแต่ละหน้าหรือโพสต์ที่คุณต้องการคัดลอก นั่นเป็นเหตุผลที่เราแนะนำให้ใช้ปลั๊กอินหน้าซ้ำของ WordPress หากคุณต้องการทำซ้ำเนื้อหาจำนวนมาก

เรียนรู้ต่อไปด้วย WP Engine

การปรับปรุงประสบการณ์ WordPress ของคุณเป็นเรื่องง่ายด้วยการโคลนหน้า มีวิธีอื่นมากมายที่คุณสามารถประหยัดเวลาได้เช่นกัน เช่น การย้ายเพจหรือโพสต์ระหว่างไซต์ WordPress และแม้แต่การคัดลอกสภาพแวดล้อมการพัฒนา

ที่ WP Engine เรานำเสนอแหล่งข้อมูลที่ดีที่สุดสำหรับนักพัฒนาที่ต้องการสร้างประสบการณ์ดิจิทัลที่ยอดเยี่ยมสำหรับลูกค้าของตน ตรวจสอบแผนของเราเพื่อเริ่มต้นทันที!