Làm thế nào để duplicate post WordPress – nhân bản bài viết

Quảng cáo
Ads_ngang
Website dinhthuanit.com có bài Làm thế nào để duplicate post WordPress – nhân bản bài viết Nếu bạn muốn clone toàn bộ blog/page chỉ để tinh chỉnh rồi so sánh giữa 2 phiên bản. Khi đó bạn cần duplicate post WordPress hoặc clone toàn bộ trang web. Trong bài hướng dẫn này, chúng tôi sẽ chỉ cách đơn giản nhất để nhân bản bài viết và page trong WordPress cho bạn.

Có lúc nào bạn gặp trường hợp bạn nên làm mới lại trang hiện tại với thiết kế mới, nhưng vẫn muốn không thay đổi bài viết để sử dụng sau? Dĩ nhiên, bạn có thể copy/paste rồi lưu toàn bộ trong file draft, nhưng bạn nhận thấy nó sẽ không di chuyển SEO optimization, page templates, featured images và những thông tin liên quan của bạn? Nếu bạn muốn clone toàn bộ blog/page chỉ để tinh chỉnh rồi đối chiếu giữa 2 phiên bản thì sao? Có rất nhiều lý do không giống nhau để bạn mong muốn nhân bản bài viết hoặc trang WordPress phải không nào? Và bạn hoàn toàn không thích mất thời gian trong việc copy/paste đơn thuần.

Khi đó bạn cần duplicate post WordPress hoặc clone toàn bộ trang web. Trong bài hướng dẫn này, chúng tôi sẽ chỉ cách dễ nhất để nhân bản bài viết và page trong WordPress cho bạn. Chỉ mất vài cú click là bạn có thể clone bất kỳ bài viết nào hoặc trang nào theo ý thích, cho dù là clone cả toàn bộ website của bạn.

Hãy bắt đầu thôi

Bạn cần gì?

Trước khi bắt đầu bài hướng dẫn này, bạn phải chuẩn bị:

  • Truy cập vào WordPress Admin Panel

Lựa chọn 1 – Nhân bản Post/Page với Plugin Duplicate Post

Plugin Duplicate Post là cách thức tiện nhất nếu bạn mong muốn clone bài viết hoặc trang của bạn trong WordPress. Không chỉ nó hỗ trợ bạn nhân bản bài viết, nó còn cho phép bạn điều chỉnh thêm nhiều thông số riêng. Bạn có 1 suffix pre-defined để thêm nữa trước hoặc sau title của page hoặc post được clone. Bạn cũng cũng có thể có thể giới hạn chức năng của plugin dựa theo quyền người sử dụng.

Để clone một bài viết hoặc trang bằng plugin này, thực hiện các bước bên dưới:

  1. Cài đặt và kích hoạt plugin Duplicate Post.
    WordPress plugin duplicate post
  2. Tiếp theo, bấm vào nút Pages -> All Pages .
  3. Giờ hãy di chuyển đến bài viết bạn muốn duplicate (hay clone), sau đó bạn sẽ thấy 2 option mới ở đây – Clone New Draft .
    WordPress Clone Page và tạo New Draft
    • Bạn cũng có thể có thể click vào nút Clone để tạo bản sao của bài post được chọn.
    • Bạn cũng có thể có thể click vào nút New Draft để tạo một bản sao của bài post được chọn nhưng nó sẽ có mở lên trong post editor mới. Bạn có thể lưu nháp hoặc xuất bản nó sau khi save lại.

Lựa chọn 2 – Clone Page/Post với plugin Duplicate Page and Post

Duplicate Page and Post là một plugin để nhân bản khác có thể được dùng làm clone page và post nhanh chóng. Plugin này giúp bạn tạo nên bản sao của page và post mà toàn bộ nội dung, title và styling của chúng vấn được giữ y nguyê.

Sử dụng plugin này cũng đơn giản. Bạn chỉ cần làm các bước sau:

  1. Cài đặt và kích hoạt plugin Duplicate Page and Post plugin.
    WordPress Plugin Duplicate Page and Post
  2. Tiếp theo, tới phần Pages -> All Pages nếu bạn muốn nhân bản page hoặc Posts -> All Posts nếu bạn muốn nhân bản bài post.
  3. Di chuyển tới bài viết bạn muốn nhân bản và click vào nút Clone Me .
    WordPress Clone Post
  4. Bạn sẽ được chuyển tới bản copy của bài viết hoặc page. Sửa nó và click vào nút Publish hoặc Save Draft .
    WordPress post được duplicate

Lựa chọn 3 – Sử dụng Post Duplicator để duplicate post WordPress

Nếu 2 plugin trên không hợp với đòi hỏi của bạn, bạn cũng đều có thể chọn Post Duplicator. Plugin duplicate post và page WordPress này sẽ tạo bản sao chính xác của bài viết được chọn, giữ lại mọi thứ các trường custom và taxonomies.

Tất cả nhữn gì bạn phải làm là:

  1. Cài đặt và kích hoạt plugin Post Duplicator
    WordPress plugin post duplicator
  2. Di chuyển tới post hoặc trang bạn mong muốn duplicate và click vào nút Duplicate Post / Duplicate Page để tạo một bản clone.
    duplicate page WordPress
  3. Plugin sẽ ngay tức thì duplicate post hoặc page.
    Post được duplicated trong WordPress

Lựa chọn 4 – Clone Page hoặc Post mà chẳng cần plugin duplicate post WordPress

Ghi chú: Bạn cần phải backup website trước lúc chỉnh sửa file gốc của WordPress.

Ngoài việc sử dụng plugin, bạn có thể viết code theo ý mình để duplicate WordPress page hoặc post. Nếu bạn thích lập trình, phương pháp này sẽ dành cho bạn. Kể cả nếu không phải, chúng tôi sẽ chỉ toàn bộ việc làm cho bạn. Bên dưới, bạn sẽ thấy code snippet để kích hoạt post duplication trong 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_> 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'] = 'Duplicate'; } return $actions; } add_filter( 'post_row_actions', 'rd_duplicate_post_link', 10, 2 ); 

Mặc dù snippet này chỉ dùng để làm duplicate post WordPress, bạn có thể duplicate page WordPress bằng phương pháp thay dòng cuối như sau:

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

Tiếp theo bạn chỉ cần dán code này vào trong file functions.php . Để làm vậy, bạn cũng có thể dùng File Manager, FTP client hoặc dùng WordPress file editor có sẵn: duplicate post page wordpress bằng functions

Giờ bạn chỉ việc chuyển hướng tới mục All Posts hoặc All Pages bạn sẽ thấy nút Duplicate .

nút để duplicate post WordPress

Nếu nhấn nút này, WordPress sẽ tạo một bản sao của page hoặc post và lưu nó dưới dạng draft.

Lời kết

Chúng tôi chắc là bạn đang tự hỏi tại sao bạn chưa biết các plugin này ngày xưa phải không. Vậy thì mặc dù trễ còn hơn không! Chúng tôi kỳ vọng bài chỉ dẫn này đã bổ trợ bạn trong việc làm ra sao để duplicate post WordPress hoặc duplicate page trong WordPress. Tất cả những plugin duplicate post ở trên không chỉ nhanh mà còn đáng tin cậy. Vậy đừng phí thời gian làm những việc như copy page nữa nhé, khi chỉ mất một vài click là xong!

Có bất kỳ câu hỏi hoặc mẹo nhỏ nào mới. Hãy chia sẽ với chúng tôi trong phần bình luận bên dưới nhé.

Để biết thêm bài viết mới nhất về WordPress, đừng quên truy cập vào trang Hướng Dẫn WordPress của chúng tôi, và tìm đến trang cuối cùng nha!

Từ khóa bài viết: dinhthuanit.com,

Bài viết Làm thế nào để duplicate post WordPress – nhân bản bài viết được tổng hợp và biên tập bởi: dinhthuanit.com. Mọi ý kiến đóng góp và phản hồi vui lòng gửi Liên Hệ cho dinhthuanit.com để điều chỉnh. dinhthuanit.com xin cảm ơn.

Bài Viết Liên Quan


Bài Viết Khác


Quảng cáo
Ads_ngang