صورت مسئله: پنهان بودن SKU متغیرها در جدول پیشخوان محصولات
در ووکامرس، ستون «شناسه محصول» (SKU) در جدول مدیریت محصولات تنها شناسه کلی محصول والد را نشان میدهد. اگر یک محصول دارای ۱۰ رنگ یا سایز با کدهای فنی مجزا باشد، برای بررسی یا تطبیق SKU انبار مجبور هستید محصول را ویرایش کرده و تکتک تبهای تنوع را باز کنید که بسیار خستهکننده است.
راهکار فنی و شیوه عملکرد کد
با هوک فیلتر woocommerce_product_get_sku، در صورتی که در صفحه مدیریت محصولات وردپرس باشیم و محصول از نوع متغیر باشد، کدهای SKU تمام متغیرهای فعال آن استخراج شده و به شکل یک لیست مرتب در ستون شناسه نمایش داده میشوند.
قطعه کد استاندارد نمایش کدهای SKU متغیرها
کد بهینهسازی پیشخوان زیر را اضافه کنید:
/*
* Display Variable Product Variations SKUs in Admin Products List
* Appends all children variations SKUs under the parent SKU in the admin column
* Mahdi Jafarzadeh | WPWM
*/
add_filter('woocommerce_product_get_sku', 'wpwm_show_variable_skus_in_admin', 9999, 2);
function wpwm_show_variable_skus_in_admin($sku, $product) {
// فقط در صفحه لیست محصولات پیشخوان اجرا شود
if (!is_admin()) return $sku;
global $pagenow, $post_type;
if ($pagenow === 'edit.php' && $post_type === 'product' && $product->is_type('variable')) {
$children = $product->get_children();
$child_skus = [];
foreach ($children as $child_id) {
$variation = wc_get_product($child_id);
if ($variation && $variation->get_sku()) {
$child_skus[] = esc_html($variation->get_sku());
}
}
if (!empty($child_skus)) {
$prefix = $sku ? '<strong>' . $sku . '</strong><br>' : '';
return $prefix . '<small style="color:#64748b;line-height:1.4;display:block;">متغیرها: ' . implode('، ', $child_skus) . '</small>';
}
}
return $sku;
}
نحوه استفاده و محل قرارگیری کد
- کد را به انتهای
functions.phpقالب چایلد اضافه فرمایید. - به منوی محصولات > همه محصولات در پیشخوان بروید تا شناسههای متغیرها را زیر کد اصلی محصول مشاهده کنید.
نکات مهم ایمنی و نگهداری
- این کد شرط
is_admin()دارد و هیچ تاثیری در فرانتاند یا سرعت کاربران سایت ندارد. - خروجی شناسهها با توابع امنیتی فرار داده شده تا ساختار جدول سالم بماند.
💡 به ابزارهای اختصاصی پیشخوان برای انبارداری نیاز دارید؟ ما در بخش طراحی افزونههای اختصاصی ووکامرس هرگونه گزارش و پنل مدیریتی دلخواه را برایتان طراحی میکنیم.
دیدگاهها و پرسشها
پاسخها، تجربهها و دیدگاههای کاربران در یک گفتوگوی منظم.
گفتوگوهای کاربران
جدیدترین دیدگاهها در ابتدااولین پرسش یا تجربه را ثبت کنید؛ ایمیلتان نمایش داده نمیشود.