صورت مسئله: اتلاف وقت برای باز کردن تکتک محصولات جهت ویرایش فیلدها
در فروشگاههای بزرگ با صدها محصول، مدیران و انبارداران نیاز دارند فیلدهای اختصاصی (مانند محل قرارگیری در قفسه انبار، پارت نامبر، کد تامینکننده یا یادداشت داخلی) را به سرعت بهروزرسانی کنند. باز کردن صفحه ویرایش تکتک محصولات بسیار زمانبر و خستهکننده است، در حالی که بخش «ویرایش سریع» (Quick Edit) به صورت پیشفرض شامل فیلدهای متای سفارشی نیست.
راهکار فنی و شیوه عملکرد کد
با ترکیب اکشن woocommerce_product_quick_edit_start و اکشن ذخیرهسازی woocommerce_product_quick_edit_save، یک اینپوت استاندارد در پنجره پاپآپ ویرایش سریع ایجاد کرده و مقدار آن را با امنیت کامل ذخیره میکنیم.
قطعه کد استاندارد افزودن فیلد به Quick Edit
کد کامل زیر را به قالب خود اضافه کنید:
/*
* Add Custom Meta Field to WooCommerce Product Quick Edit
* Adds custom field input and saves data securely via AJAX
* Mahdi Jafarzadeh | WPWM
*/
// ۱. نمایش فیلد در فرم ویرایش سریع
add_action('woocommerce_product_quick_edit_start', 'wpwm_add_quick_edit_custom_field');
function wpwm_add_quick_edit_custom_field() {
?>
<br class="clear" />
<div class="wpwm-quick-edit-group" style="padding: 5px 0;">
<label>
<span class="title">کد قفسه / انبار</span>
<span class="input-text-wrap">
<input type="text" name="_wpwm_shelf_code" class="text" value="" placeholder="مثال: A-12">
</span>
</label>
</div>
<?php
}
// ۲. ذخیرهسازی مقدار فیلد هنگام زدن دکمه بهروزرسانی در ویرایش سریع
add_action('woocommerce_product_quick_edit_save', 'wpwm_save_quick_edit_custom_field');
function wpwm_save_quick_edit_custom_field($product) {
$product_id = $product->get_id();
if (isset($_REQUEST['_wpwm_shelf_code'])) {
$shelf_code = sanitize_text_field($_REQUEST['_wpwm_shelf_code']);
update_post_meta($product_id, '_wpwm_shelf_code', $shelf_code);
}
}
نحوه استفاده و محل قرارگیری کد
- کد را به فایل
functions.phpیا افزونه اختصاصی خود اضافه نمایید. - به پیشخوان وردپرس > محصولات بروید.
- ماوس را روی یکی از محصولات برده و روی ویرایش سریع کلیک کنید تا فیلد جدید «کد قفسه / انبار» را مشاهده فرمایید.
نکات مهم ایمنی و نگهداری
- ورودی کاربر به صورت استاندارد با
sanitize_text_fieldپاکسازی شده و از حملات XSS جلوگیری میکند. - میتوانید نام فیلد (
_wpwm_shelf_code) را با هر کلید متای دیگری که در سایتتان استفاده میشود جایگزین کنید.
💡 به سیستمهای هوشمند مدیریت انبار و بارکدخوان نیاز دارید؟ ما در بخش طراحی افزونههای اختصاصی انبارداری ووکامرس ابزارهای پیشرفتهای برای فروشگاه شما میسازیم.
دیدگاهها و پرسشها
پاسخها، تجربهها و دیدگاههای کاربران در یک گفتوگوی منظم.
گفتوگوهای کاربران
جدیدترین دیدگاهها در ابتدااولین پرسش یا تجربه را ثبت کنید؛ ایمیلتان نمایش داده نمیشود.