كيفية تكرار صفحة ووردبريس بسهولة

نشرت: 2021-11-05
محتوى مكرر في وورد

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

حسنًا ، لا يمكنني تخيل ذلك. لحسن الحظ ، هناك طرق لتكرار المحتوى في صفحة / منشور WordPress. في هذا المنشور ، سأوضح لك كيفية تكرار صفحة / منشور WordPress على الفور.

لنبدأ اذن.

جدول المحتويات
  • لماذا يتم تكرار صفحة / منشور ووردبريس؟
  • محتوى مكرر في WordPress مع البرنامج المساعد
  • ووردبريس نسخة مكررة من الصفحة / مشاركة بدون إضافة
  • الكلمات الأخيرة

لماذا يتم تكرار صفحة / منشور ووردبريس؟

عندما تقوم بإدخال بعض التغييرات الجديدة في صفحتك أو منشورك ، قد تحتاج إلى استنساخ الصفحة / المنشور بسرعة.

على سبيل المثال ، لديك صفحة مبيعات بها الكثير من الأقسام ؛ الآن أنت بحاجة إلى إنشاء نفس صفحة المبيعات مرة أخرى لمنتج مختلف ، فماذا ستفعل؟ هل تريد إنشاء الصفحة بأكملها مرة أخرى؟

بالطبع لا. ستتمكن من الحصول على نفس الصفحة بالضبط عن طريق تكرارها. ستتمكن من بدء العمل عليها على الفور وتوفير الوقت. يمكنك نسخ صفحة / منشور WordPress بطريقتين - 1. باستخدام ملحق ، 2. بدون مكون إضافي.

محتوى مكرر في WordPress مع البرنامج المساعد

هناك بعض الإضافات مثل- Duplicate Page و Post Duplicator و Duplicate Page و Post و Page و Any Custom Post ؛ تساعدك على نسخ صفحة / منشور WordPress على الفور. لكن الأكثر شعبية هو Yoast Duplicate Post.

في البداية ، قم بتثبيت وتنشيط المكون الإضافي Yoast Duplicate Post من دليل مكونات WordPress.

من لوحة القيادة ، انتقل إلى Post -> All Post. (لنسخ صفحة ، انتقل إلى Pages -> All Pages)

الآن حرك المؤشر فوق أي منشور ، وسترى خيارين جديدين - "استنساخ ومسودة جديدة".

انقر الآن على زر النسخ لتكرار المنشور.

ومع ذلك ، إذا كنت ترغب في إنشاء نسخة وفتحها على الفور في محرر المنشور ، فانقر فوق الزر "مسودة جديدة".

ووردبريس نسخة مكررة من الصفحة / مشاركة بدون إضافة

إذا كنت لا تريد زيادة عدد المكونات الإضافية المثبتة ، فيمكنك اتباع هذه الطريقة. الأمر بسيط للغاية ، كل ما عليك فعله هو نسخ بعض الرموز إلى ملف function.php ومن ثم ستتمكن من تكرار صفحة / منشورات WordPress بسهولة بالغة.

ملاحظة: قبل تحرير أي من ملفات WordPress ، يوصى بعمل نسخة احتياطية لموقع الويب الخاص بك أولاً.

في البداية ، انتقل إلى Appearance -> Theme Editor وانقر على "Theme Functions". الآن انسخ الكود التالي والصقه هنا.

 /* * 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);

الكلمات الأخيرة

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