مرحله | توضیحات | تنظیمات |
افزودن کد | فایل فانکشن چایلد | چایلد یا اصلی |
نوشتهها برگه ها وکامرس | گزینه “Duplicate” را اضافه میکند | بطور خودکار همه محتواها شامل میشه |
اموزش کپی کردن برگه ها نوشته ها در سایت وردپرس
کپی کردن برگه ها نوشته ها در وردپرس – این کد یک قابلیت کپیسازی (Duplicate) برای نوشتهها، برگهها و محصولات ووکامرس به داشبورد مدیریت وردپرس اضافه میکند. در ادامه توضیح عملکرد آن را بررسی میکنیم.
اهمیت کپی کردن برگهها و نوشتهها
فکرشو بکنید: یه برگه یا نوشته رو با کلی زحمت درست کردید، حالا میخواید یه نسخه مشابهش بسازید، مثلاً برای یه محصول جدید یا یه تست ساده. آیا باید از صفر شروع کنید؟ نه دیگه! کپی کردن توی وردپرس مثل یه میانبر باحاله که وقتتون رو آزاد میکنه و کارتون رو سریعتر میکنه.
روش های مختلف کپی کردن
روش های زیادی برای کپی کردن برگه و نوشته موجود نیست ! فقط دو روش رایج موجد هست که اولی از دومی بهتر امن تر و سبک تره!
- قابلیت کپی کاری با کد نویسی⭐⭐⭐⭐⭐
- قابلیت کپی کاری با افزونه⭐
کپی محصولات در ووکامرس
این قابلیت در ابتدا برای نوشتهها (`post`) و برگهها (`page`) فعال بود، اما اکنون برای محصولات ووکامرس (`woocommerce_product_row_actions`) نیز اضافه شده است. این یعنی:
– در صفحهی محصولات ووکامرس نیز همین گزینه در کنار محصولات ظاهر خواهد شد.
ویژگیها و مشخصات کد
✅ کاربردی و تمیز: این کد مستقیماً با وردپرس و پایگاه دادهی آن تعامل دارد، بنابراین بدون وابستگی به افزونههای اضافی کار میکند.
✅ حفظ اطلاعات متا و دستهبندیها: هنگام کپی، تمامی اطلاعات مربوط به پست اصلی، از جمله متادیتاها و دستهبندیها، عکس شاخص و… به نسخهی جدید منتقل میشود.
✅ سازگار با ووکامرس – برگه – نوشته
✅ یک کلیک = یک نسخهی جدید
✅ برگههای فرود (Landing Pages)
✅برگه کپی شده پیش نویس هست و مشکل ایندکس سریع ندارد
✅ کپی برای پست تایپ های اختصاصی
✅ مناسب هر قالب بازاری یا مخزن وردپرس
محل نوشتن کدهای
بهترین مکان های که وردپرس گارهای حرفه ای برای قرار دادن کدهای خود در نظر میگیرند بترتیب به شرح زیر میباشد:
- wpcode افزونه ⭐⭐⭐⭐⭐
- فایل مربوطه قالب چایلد ⭐⭐⭐⭐
- کدهای سفارشی المنتور⭐⭐
- فایل اصلی قالب😡
کد برای اضافه کردن به قالب چایلد :
function add_duplicate_link($actions, $post) { $nonce = 'duplicate_post_' . $post->ID; $url = admin_url('edit.php' . ($post->post_type !== 'post' ? '?post_type=' . $post->post_type : '') . '&duplicate=' . $post->ID); $actions['duplicate'] = 'Duplicate'; return $actions; } // پشتیبانی از تمام پستتایپهای عمومی $post_types = get_post_types(['public' => true], 'names'); foreach ($post_types as $type) { add_filter("{$type}_row_actions", 'add_duplicate_link', 10, 2); } add_action('load-edit.php', function() { if (empty($_GET['duplicate']) || empty($_GET['_wpnonce'])) return; $id = intval($_GET['duplicate']); if (!wp_verify_nonce($_GET['_wpnonce'], 'duplicate_post_' . $id)) return; if (!current_user_can('edit_post', $id)) return; $post = get_post($id); if (!$post) return; $data = [ 'post_title' => $post->post_title, 'post_content' => $post->post_content, 'post_status' => 'draft', 'post_type' => $post->post_type, 'post_author' => $post->post_author, 'post_excerpt' => $post->post_excerpt, 'post_parent' => $post->post_parent, 'menu_order' => $post->menu_order, ]; $new_id = wp_insert_post($data); if (!$new_id) { wp_redirect(admin_url('edit.php?post_type=' . $post->post_type . '&duplicated=0')); exit; } // کپی طبقهبندیها foreach (get_object_taxonomies($post->post_type) as $tax) { $terms = wp_get_object_terms($id, $tax, ['fields' => 'ids']); if ($terms) wp_set_object_terms($new_id, $terms, $tax); } // بهینهسازی کپی متاها $skip = ['_edit_lock', '_edit_last']; $meta = get_post_meta($id); foreach ($meta as $key => $values) { if (in_array($key, $skip)) continue; update_post_meta($new_id, $key, maybe_unserialize($values[0])); } // کپی تصویر شاخص if ($thumb = get_post_thumbnail_id($id)) { set_post_thumbnail($new_id, $thumb); } wp_redirect(admin_url('edit.php?post_type=' . $post->post_type . '&duplicated=1')); exit; }); add_action('admin_notices', function() { if (isset($_GET['duplicated'])) { if ($_GET['duplicated'] == '1') { echo 'پست با موفقیت کپی شد.'; } elseif ($_GET['duplicated'] == '0') { echo 'خطا در کپی کردن پست!'; } } });
افزونه کپی برگه نوشته duplicate page
بدترین حالت ولی آسان ترین حالت اضافه کردن کپی کردن برگه ها نوشته ها در وردپرس – استفاده از پلاگین مربوطه است
مقاله افزایش سرعت المنتور
3 پاسخ
https://mrbarati.com/duplicate_post/ 💕کپی کردن برگه ها نوشته ها❤️
کد شما عالی- افزونه کپی برگه ها نوشته ها خیلی بده!!!
بله-قطعا⭐