آیا تا به حال، فکر کردهاید که چگونه میتوان اقدام به کپی کردن نوشته و برگه در وردپرس کرد؟ تکثیر یک برگه یا نوشته در وردپرس، چیزی فراتر از کپی-پیست کردن محتوا است. شما میتوانید به راحتی، با استفاده از ابزار مناسب، اقدام به تکثیر قالب برگه ، دادهها و اطلاعات سئو سایت در برگه جدید کنید و از این جهت جلوی اتلاف وقت را بگیرید و یا اینکه با سرعت بیشتری اقدام به بهروزرسانی محتوای خود کنید.
خوشبختانه، کپی کردن انواع نوشته در وردپرس، به راحتی با استفاده از خود سیستم وردپرس و افزونههای موجود در آن، امکانپذیر میباشد.
همانطور که ذکر شد، راههای آسانی برای کپی کردن نوشتهها و برگهها در سایت شما وجود دارد و شما میتوانید با استفاده از افزونه و یا به صورت دستی، به راحتی عملیات کپی کردن برگه یا نوشته در وردپرس را انجام دهید.
در این مقاله، به طور کامل به شما نشان خواهیم داد که چگونه میتوانید به درستی اقدام به کپی کردن نوشته در وردپرس کنید و همچنین در ادامه، برای شما چندین افزونه وردپرس برای کپی کردن نوشته در وردپرس، معرفی خواهیم کرد.
آنچه در این مقاله میخوانید
چگونه میتوان اقدام به کپی کردن نوشته در وردپرس کرد؟
- در ابتدا، افزونه مورد نظر را از قسمت افزونهها در منوی وردپرس، فعال کنید.
- پس از آن، اقدام به ایجاد یک نوشته یا برگه جدید در وردپرس میکنید و یا اینکه میتوانید از دیگر نوشتهها و برگههای سایت استفاده کنید.
- حال، از قسمت پیشخوان وردپرس، به صفحه همه نوشتهها و یا همه برگهها مراجعه کنید.
- پس از حرکت نشانگر موس، بر روی یک نوشته و یا برگه، گزینهای نظیر کپی یا معادل خارجی آن Duplicate یا عباراتی دیگر را مشاهده میکنید.
- با کلیک کردن بر روی گزینه Duplicate، از نوشته یا برگه در وردپرس یک رونوشت تهیه شده و به صورت پیشنویس ذخیره میگردد. حال میتوانید به راحتی آن را ویرایش و منتشر کنید.
افزونههای کپی کردن نوشته و برگه در وردپرس
کپی کردن نوشته در وردپرس با استفاده از افزونه بسیار آسان است. کافی است افزونه مورد نظر را نصب و پیکربندی کنید. در ادامه برترین افزونههای رونوشت برداری از نوشته و برگه در وردپرس را معرفی کردیم.
۱- Duplicate Page
افزونه Duplicate This، یکی از افزونههایی است که میتوانید کپی کردن نوشته یا برگه در وردپرس را با آن انجام دهید. با این افزونه، قادر خواهید بود تا همه انواع نوشته نظیر نوشتهها، برگهها و… را کپی کنید. محتوا پس از کپی شدن میتواند با وضعیت پیشنویس، در حال انتظار، عمومی و یا خصوصی منتشر شود.
یکی از مزایای خوب این افزونه نسبت به سایر افزونهها این است که عملیات کپی کردن را بر روی همه Post Type هایی که توسط هر افزونه یا پوسته ایجاد شده است، اعمال میکند.
به منظور استفاده از افزونه Duplicate Page مراحل زیر را انجام دهید:
- افزونه را نصب و سپس فعال کنید.
- در بخش تنظیمات مربوط به افزونه، تنظیماتی که نیاز دارید را انجام دهید.
- حال به بخش برگهها یا نوشتهها رفته و هر محتوایی را که دوست دارید از آن رونوشت تهیه کنید، بر روی گزینه Duplicate This محتوای مورد نظر کلیک کنید.
- یک رونوشت از محتوای شما به صورت خودکار تولید میشود.
۲- Yoast Duplicate Post
یکی دیگر از افزونههای برتر وردپرس برای کپی کردن نوشته یا برگه در وردپرس، افزونه Yoast Duplicate Post میباشد. کار با این افزونه بسیار راحت است و میتوانید هر نوع محتوایی را در سایت خود کپی کنید.
به منظور استفاده از افزونه Yoast Duplicate Post مراحل زیر را انجام دهید:
- افزونه را نصب و سپس فعال کنید.
- وارد پیشخوان وردپرس شده و به بخش برگهها یا هر نوع نوشته دلخواه بروید.
- به منظور کپی شدن ، بر روی Clone یا معادل آن به فارسی کلیک کنید.
- محتوای مورد نظر شما به طور کامل کپی میشود.
۳- Duplicate Page and Post
یکی دیگر از افزونههای وردپرس برای کپی کردن نوشتهها و برگهها، افزونه Duplicate Page and Post میباشد. این افزونه ویژگیهای زیادی ندارد ولی میتواند نیاز شما را در زمینه رونوشت برداری از محتوا برطرف کند.
به منظور استفاده از Duplicate Page and Post مراحل زیر را دنبال کنید:
- افزونه را نصب و سپس فعال کنید.
- بر روی نوشتهها یا برگهها در پیشخوان کلیک کنید.
- نوشته یا برگه مورد نظر را انتخاب و بر روی Duplicate بزنید.
- محتوای مورد نظر شما کپی شد و میتوانید آن را ویرایش و منتشر کنید.
۴- Post Duplicator
افزونه Post Duplicator یکی دیگر از افزونههای کپی محتوا در وردپرس میباشد. با استفاده از این افزونه قادر خواهید بود هر Post Type سفارشی نظیر برگه، نوشته و… و حتی دستهبندیها و فیلدهای سفارشی را کپی کنید.
به منظور استفاده از افزونه Post Duplicator مراحل زیر را دنبال کنید:
- افزونه را نصب و سپس فعال کنید.
- به بخش نوشتهها یا برگهها بروید.
- محتوای مورد نظر را انتخاب کرده و بر روی Duplicate Post یا Duplicate Page کلیک کنید.
۵- Page and Post Clone
با استفاده از افزونه Page and Post Clone میتوانید به راحتی اقدام به کپی کردن نوشته و یا کپی کردن برگه در وردپرس کنید.
به منظور استفاده از افزونه Page and Post Clone مراحل زیر را انجام دهید:
- افزونه را نصب و فعال کنید.
- سپس به بخش نوشتهها یا برگهها بروید.
- به منظور کپی محتوای مورد نظر خود، بر روی Clone کلیک کنید.
کپی کردن نوشته و برگه در وردپرس بدون افزونه
شما برای کپی کردن نوشته در وردپرس یا کپی کردن برگه در وردپرس، نیازی نیست حتماً از افزونه استفاده کنید. شما با استفاده از روشهای زیر هم میتوانید به راحتی اینکار را انجام دهید.
۱- کپی کردن انواع نوشته در وردپرس بدون افزونه
شما با قراردادن قطعه کد زیر در فایل functions.php به راحتی میتوانید قابلیت کپی کردن را به Post Type اضافه کنید. این قطعه کد نوشته جدید را با وضعیت پیشنویس ذخیره میکند.
شما میتوانید این قطعه کد را به افزونه وردپرس تبدیل کنید تا نگران تغییرات functions.php پس از بهروزرسانی پوسته نباشید.
/*
* Function for post duplication. Dups appear as drafts. User is redirected to the edit screen
*/
function tidaweb_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', 'tidaweb_duplicate_post_as_draft' );
/*
* Add the duplicate link to action list for post_row_actions
*/
function tidaweb_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', 'tidaweb_duplicate_post_link', 10, 2 );
اگر میخواهید عملیات رونوشت برداری برای برگهها فعال شود کد زیر را جایگزین خط آخر کد قبلی کنید.
add_filter('page_row_actions', 'tidaweb_duplicate_post_link', 10, 2);
۲- رونوشت برداری به صورت دستی
اگر میخواهید عملیات کپی کردن نوشته یا برگه در وردپرس را به صورت دستی و بدون کد انجام دهید، میتوانید از روش زیر استفاده کنید.
- نوشته یا برگهای را که میخواهید کپی کنید، باز کنید.
- ویرایشگر کد را انتخاب کنید.
- کدهای موجود در برگه یا نوشته را کپی کنید.
- بر روی افزودن نوشته یا افزودن برگه کلیک کنید.
- در نوشته یا برگه تازه بر روی ویرایشگر کد کلیک کنید.
- کد کپی شده را اینجا Paste کنید.
- حال، ویرایشگر کد را تبدیل به ویرایشگر دیداری کنید.
- با اینکار محتوای برگه یا نوشته قبلی در برگه یا نوشته جدید کپی شده است.
این روش کمی زمانبر بوده و همچنین کل محتوا اعم از دستهبندی به طور خودکار انتخاب نمیشوند. چون تمامی مراحل دستی توسط کاربر انجام میشود. این روش همچنین دارای خطای انسانی میباشد.
نتیجهگیری
در مقاله بالا، نحوه کپی کردن نوشته یا برگه در وردپرس توضیح داده شد. همانطور که گفته شد این کار هم با استفاده از افزونه و هم به صورت دستی قابل انجام است. یکی از مزایای خوب در استفاده از افزونه، کپی سریع و کل محتوا بدون هیچ مشکلی است. همچنین تنظیمات حرفهای برای کپی کردن در افزونه وجود دارد در صورتی که در روش کد اینگونه نیست.
منابع:
ممنونم.🤩 مفید بود