آموزش کدهای وردپرس, آموزش وردپرس, افزونه رایگان وردپرس

آموزش کپی کردن برگه یا نوشته در وردپرس

کپی کردن نوشته و برگه در وردپرس

کپی کردن از نوشته ها یا برگه های موجود در وردپرس می تواند در بسیاری از موارد مفید باشد. هنگام طراحی مجدد وب سایت می توانید از یک نسخه به عنوان الگویی برای پست های آینده یا مرجع استفاده کنید.

خوشبختانه، روش های مختلفی برای تکثیر کردن یک برگه یا نوشته در وردپرس وجود دارد. در این آموزش روش های مختلفی توضیح داده می شود، بنابراین محکم بنشینید و به خواندن ادامه دهید!

کپی کردن نوشته و برگه در وردپرس

تکثیر نوشته ها و برگه ها با افزونه وردپرس

ساده ترین راه برای کپی از نوشته یا برگه، استفاده از افزونه وردپرس است. پس از فعال سازی، ثکثیر کردن پست ها و صفحات تنها با یک کلیک فاصله دارد!

در ادامه ما بهترین افزونه ها را برای تکثیر برگه ها و نوشته ها در وردپرس معرفی خواهیم کرد.

1. افزونه Duplicate Post

افزونه Duplicate Post

افزونه Duplicate Post یکی از گزینه های مناسب و محبوب برای این منظور است. گذشته از کپی کردن مطالب، می توانید نظریات، نامک، ترتیب منو و موارد دیگر را نیز کپی کنید!

علاوه بر این، این افزونه به شما امکان می دهد تا پیشوند یا پسوند عنوان اضافه کنید، بنابراین اینکار به شما کمک می کند تا بدانید کدام یک اصلی است و کدام نسخه کپی است.

مثلا بگذارید بگوییم که شما “کپی” را به عنوان پیشوند عنوان تنظیم کردید. اگر نوشته ای را با عنوان “وردپرس چیست؟” کپی کنید، این نسخه تکراری با عنوان “کپی از وردپرس چیست؟” نامگذاری می شود.

برای تکثیر کردن نوشته ها یا صفحات وردپرس با استفاده از افزونه Duplicate Post ، این مراحل ساده را دنبال کنید:

1. ابتدا افزونه را نصب و فعال کنید. ( در صورت نیاز به اطلاعات بیشتر آموزش نصب افزونه وردپرس را ببینید)

2. در پیشخوان وردپرس، به دلخواه به قسمت نوشته ها یا برگه ها مراجعه کنید.

3. روی برگه یا نوشته ای که می خواهید تکثیر کنید، ماوس را قرار دهید، در بین گزینه ها دو گزینه جدید مشاهده خواهید کرد، تکرار و پیش نویس تازه.

تکثیر مطالب با افزونه Duplicate Post

4. بر روی تکرار کلیک کنید تا نوشته یا برگه انتخاب شده را کپی کنید، یا پیش نویس تازه را انتخاب کنید تا یک نسخه کپی شده از نوشته یا برگه انتخاب شده ایجاد شود و آن را در ویرایشگر پست باز کنید.

2. افزونه Duplicate Page and Post

افزونه Duplicate Page and Post

با افزونه Duplicate Page and Post می توانید به سرعت صفحات وردپرس را تکثیر کنید. این افزونه می تواند بدون تغییر محتوا، عنوان یا سبک آن، یک برگه یا نوشته را کپی کند.

استفاده از این افزونه نسبتاً آسان است. شما فقط باید این مراحل را دنبال کنید:

1. افزونه را نصب و فعال کنید و به دلخواه به بخش نوشته ها یا برگه ها بروید.

2. روی نوشته یا برگه موردنظر خود حرکت کنید تا گزینه های آن نمایش داده شود و از میان آنها بر روی Duplicate کلیک کنید.

تکثیر با افزونه Duplicate Page and Post

بعد از کلیک بر روی Duplicate نوشته یا برگه موردنظر کپی می شود و درحالت پیش نویس قرار داده می شود.

3. افزونه Post Duplicator

افزونه Post Duplicator

Post Duplicator به شما امکان می دهد ضمن حفظ زمینه های دلخواه و طبقه بندی های سفارشی، ماکت دقیقی از پست انتخاب شده ایجاد کنید.

در اینجا نحوه کپی کردن یک برگه یا نوشته وردپرس با استفاده از افزونه Post Duplicator آورده شده است:

1. افزونه Post Duplicator را نصب و فعال کنید.

روی نوشته یا برگه مورد نظر خود حرکت کنید و روی Duplicate صفحه یا Duplicate نوشته کلیک کنید.

تکثیر با افزونه Post Duplicator

همچنین برخی تنظیمات وجود دارد که می توانید برای پست های تکراری تنظیم کنید. به ابزارها » Post Duplicator بروید و وضعیت ارسال (پیش نویس، منتشر شده یا همان اصل) ، نوع پست و تاریخ ارسال را تنظیم کنید. همچنین می توانید عنوان و نامک را تنظیم کنید.

تکثیر نوشته یا برگه وردپرس بدون افزونه

علاوه بر استفاده از افزونه ها ، می توانید برای کپی کردن برگه ها و نوشته های وردپرس ، از کد استفاده کنید. در حالی که این روش ممکن است سخت به نظر برسد، اما در واقع بسیار ساده است.

قطعه کد زیر تکثیر نوشته و برگه را در وردپرس فعال می کند، کد را به فایل 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( 'post_row_actions', 'rd_duplicate_post_link', 10, 2 );

این قطعه کد فقط برای تکثیر نوشته ها کار می کند. در صورت نیاز می توانید قطعه کد زیر را با خط آخر کد بالا جایگزین کنید، تا تکثیر برای برگه ها فعال شود.

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

حالا با حرکت بر روی نوشته یا برگه گزینه Duplicate به گزینه های موجود اضافه می شود.

تکثیر با افزونه Duplicate Page and Post

نتیجه

در این آموزش نحوه تکثیر نوشته ها و برگه ها در وردپرس را با استفاده از افزونه وردپرس و همچنین با استفاده از کد توضیح دادیم که امیدواریم این آموزش به تمام سوالات شما در مورد نحوه کپی کردن یک نوشته یا برگه در وردپرس پاسخ دهد.  همچنین ممکن است بخواهید مقاله ما را در مورد تفاوت دسته ها و برچسب ها در وردپرس ببینید.

5/5 - (4 امتیاز)

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *