플러그인 없이 Wordpress에서 페이지를 복제하는 방법

게시 됨: 2023-08-17

이 기사에서는 플러그인을 사용하지 않고 Wordpress에서 페이지를 복제하는 방법을 보여 드리겠습니다. 여기서는 3가지 다른 방법을 다룰 것입니다. 페이지를 수동으로 복제하거나 일부 코드 스니펫을 사용하거나 전용 플러그인을 사용할 수 있습니다.

워드프레스에서 페이지를 복제해야 하는 이유

WordPress에서 페이지를 복제하면 다양한 용도로 사용할 수 있으며 이 기능이 유용할 수 있는 몇 가지 시나리오가 있습니다.

  1. 콘텐츠 복제: 유사한 콘텐츠에 대한 페이지의 레이아웃 및 구조를 복사하여 시간을 절약합니다.
  2. 일관된 디자인: 특정 페이지 유형에 대해 일관된 모양을 유지합니다.
  3. A/B 테스트: 더 나은 참여 또는 전환을 위해 페이지의 다른 버전을 테스트합니다.
  4. 번역: 페이지의 번역된 버전을 만들기 위해 복제본으로 시작합니다.
  5. 긴 형식 콘텐츠: 고유한 콘텐츠를 추가하면서 템플릿을 유지합니다.
  6. 이벤트 페이지: 중복 콘텐츠가 있는 유사한 이벤트 페이지를 빠르게 설정합니다.
  7. 아카이빙 및 용도 변경: 콘텐츠를 용도 변경하면서 원본을 보존합니다.
  8. 백업: 중요한 변경 사항을 적용하기 전에 백업을 위해 복제합니다.
  9. 맞춤형 랜딩 페이지: 캠페인을 위한 맞춤형 랜딩 페이지를 효율적으로 생성합니다.
  10. 개발 테스트: 라이브로 전환하기 전에 변경 사항을 테스트하기 위해 페이지를 복제합니다.

페이지 복제가 도움이 될 수 있지만 복제된 콘텐츠가 목적에 맞게 적절하게 사용자 지정되었는지 확인하는 것이 중요합니다. 웹 사이트의 중복 콘텐츠는 특히 많이 수정되지 않은 경우 검색 엔진 최적화(SEO) 및 사용자 경험에 부정적인 영향을 미칠 수 있습니다.

Wordpress에서 수동으로 페이지 복제

Wordpress에서 페이지를 수동으로 복제하려면 기존 페이지 또는 게시물을 편집하고 오른쪽 상단 모서리에 있는 점 3개 메뉴를 클릭하기만 하면 됩니다.

이제 "Copy All Blocks"와 같은 옵션이 표시됩니다. 이 옵션을 클릭하면 페이지의 모든 내용이 클립보드에 복사됩니다.

WordPress의 모든 블록 복사

이제 돌아가서 새 페이지를 만들고 페이지 제목을 설정한 다음 클립보드에 복사한 코드(CTRL + V)를 붙여넣습니다.

이제 모든 콘텐츠가 새 페이지에 복사되고 몇 번의 클릭만으로 페이지를 성공적으로 복제했습니다.

여기서 이 방법을 사용하면 페이지의 내용만 복사되고 페이지 제목, 메타 설명, 추천 이미지, 카테고리, 태그와 같은 메타데이터는 복사되지 않습니다.

이를 위해 아래에서 공유할 두 번째 방법을 사용할 수 있습니다.

플러그인 없이 Wordpress에서 페이지 복제

유튜브 동영상

이제 플러그인을 사용하지 않고 게시물이나 게시물을 복제할 페이지 바로 뒤에 복제 버튼을 추가하려면 아래 코드를 사용할 수 있습니다.

function.php 파일에 코드를 붙여넣거나 WP Code, Code Snippets 등과 같은 코드 관리자 플러그인을 사용하십시오.

 /* * 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!'); } if ( !isset( $_GET['duplicate_nonce'] ) || !wp_verify_nonce( $_GET['duplicate_nonce'], basename( __FILE__ ) ) ) return; $post_id = (isset($_GET['post']) ? absint( $_GET['post'] ) : absint( $_POST['post'] ) ); $post = get_post( $post_id ); $current_user = wp_get_current_user(); $new_post_author = $current_user->ID; if (isset( $post ) && $post != null) { $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 ); $new_post_id = wp_insert_post( $args ); $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); } $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); } 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' ); 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);

위의 코드를 다운로드합니다(오른쪽 클릭하여 txt 파일로 저장).

플러그인 없이 wordpress에서 페이지 복제

이런 식으로 이를 위해 전용 복제 플러그인을 사용할 필요가 없으며 코드 스니펫만 사용할 수 있습니다.

이제 전용 중복 플러그인을 사용하지 않고도 위의 스크린샷과 같이 중복 링크가 표시됩니다.

더 많은 기능을 위해 플러그인을 계속 사용하려면 Wordpress용 중복 플러그인을 사용할 수 있습니다.

Wordpress용 복제 플러그인

이제 플러그인 없이 Wordpress에서 페이지를 복제하는 방법을 배웠습니다. 의심스러운 점이 있으면 언제든지 의견 섹션에서 저에게 질문하십시오. 자세한 내용은 위의 비디오를 시청하는 것이 좋습니다.

이 자습서가 마음에 들면 YouTube 채널을 구독하는 것을 잊지 마십시오.