كيفية تكرار الصفحات بشكل صحيح في WordPress (بطريقتين)
نشرت: 2022-09-23لا تضيع الوقت في تكرار كل صفحة في موقع WordPress الخاص بك يدويًا. إذا كان لديك نية لتكرار العديد من الصفحات ، دعنا نعرض لك حلين لتكرار الصفحات في WordPress بطريقة سهلة وموفرة للوقت.
متى تحتاج إلى تكرار الصفحات في WordPress؟
في بعض الأحيان ، تحتاج إلى تكرار الصفحات في WordPress لعرض محتوى مختلف ولكن في نفس تخطيط الصفحة. يمكنك القيام بذلك يدويًا ، مما يعني أنه يجب عليك نسخ القالب وعناصر تحسين محركات البحث بما في ذلك الأوصاف التعريفية وعلامات العنوان. وتتكرر هذه العملية عدة مرات مما يأخذ وقتك وجهدك.
إذا كنت بحاجة إلى حل آخر أكثر ملاءمة وموفرًا للوقت ولكنه لا يزال فعالًا للغاية ، فإن اقتراحك هو تكرار الصفحات في WordPress عبر الإضافات أو ملف function.php. اليوم ، نود أن نقدم لك إرشادات مفصلة حول ذلك. هيا بنا نبدأ!
كيفية تكرار الصفحات في WordPress
في الواقع ، هناك طريقتان أساسيتان لتكرار الصفحات في WordPress. الأول هو استخدام WordPress Duplicator Plugins للقيام بذلك. وهناك طريقة أخرى تتمثل في إضافة رمز إلى ملف function.php لإنشاء صفحات مكررة أو حتى منشورات مكررة.
ومع ذلك ، نوصيك باختيار مكون إضافي لتحقيق أهدافك. تؤدي إضافة رمز إلى محرر ملف السمة أحيانًا إلى حدوث خطأ في موقع WordPress الخاص بك ويصبح كل شيء معقدًا. لذا ، من الجيد أن تحصل على حل آمن.
استخدام الإضافات لتكرار الصفحات في WordPress
لكي نكون صادقين ، في السوق الحالية ، يبدو أن العديد من المكونات الإضافية المفيدة تساعدك على تكرار الصفحات في WordPress. ومع ذلك ، نود أن نقدم اثنين من المكونات الإضافية سهلة الاستخدام والفعالة: Yoast Duplicate Post و Duplicate Page and Post.
الآن ، دعنا نلقي نظرة على التعليمات التفصيلية لاستخدام Yoast Duplicate Post لموقع WordPress الخاص بك.
- سجّل الدخول إلى لوحة تحكم مسؤول WordPress -> انتقل إلى الإضافات -> إضافة جديد .
- ابحث عن Yoast Duplicate Post -> قم بتثبيته وتنشيطه .
- في لوحة تحكم المسؤول ، اختر فتح صفحة -> كل الصفحات .
- حدد الصفحة التي تريد تكرارها ، وسيكون هناك خياران جديدان: استنساخ ومسودة جديدة .
- إذا كنت ترغب في تكرار الصفحات في WordPress ، فما عليك سوى النقر فوق الزر Clone . إذا كنت بحاجة إلى إنشاء صفحة جديدة تحتوي على محتوى منسوخ ، فلنختار خيار مسودة جديدة .
مكون إضافي آخر لمساعدتك في استنساخ الصفحة الحالية هو Duplicate Page and Post . دعنا نتبع الخطوة أدناه:
- سجّل الدخول إلى لوحة تحكم مسؤول WordPress -> انتقل إلى الإضافات -> إضافة جديد .
- ابحث عن صفحة مكررة و Post -> قم بتثبيتها وتنشيطها .
- الوصول إلى صفحة مفتوحة -> كافة الصفحات .
- انقر فوق الصفحة التي تريد نسخها ، وسيظهر لك خيار تكرار للقيام بذلك. بعد الضغط عليه ، ستتوفر لك مسودة جديدة لتحرير المحتوى.
استخدام ملف Functions.php لتكرار الصفحات في WordPress
الطريقة الثانية لتكرار الصفحات في WordPress هي إدخال الكود في ملف Functions.php. للقيام بذلك ، دعنا نفتح المظهر -> محرر ملف الموضوع -> Functions.php .
حان الوقت الآن لتكرار الصفحات في WordPress عن طريق إضافة مقتطف الشفرة التالي إلى ملف jobs.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('page_row_actions', 'rd_duplicate_post_link', 10, 2);

يتم إحتوائه
باختصار ، دعنا نوفر الوقت في استنساخ الصفحات باتباع إحدى الطريقتين لتكرار الصفحات في WordPress أعلاه. إذا كان لديك أي مشكلة تتعلق بالموضوعات ، فلماذا لا تترك تعليقك أدناه حتى نتمكن من دعمك؟
أخيرًا وليس آخرًا ، لا تنس أن سوقنا يقدم العديد من سمات WordPress المجانية الملائمة للجوال والملفتة للنظر. لذلك ، لا تفوتهم إذا كنت بحاجة إلى الحصول على سمة جديدة لموقع WordPress الخاص بك!