صورت مسئله: ابهام خریداران در مورد واحد فروش محصولات متری یا کیلویی
در فروشگاههای فروش مواد غذایی، پارچه، مصالح ساختمانی، خشکبار یا ملزومات عمده، درج صرف قیمت (مثلاً ۵۰,۰۰۰ تومان) خریدار را دچار سردرگمی میکند که این قیمت به ازای هر کیلو، هر متر یا هر بسته است. ووکامرس به صورت پیشفرض فیلدی برای واحد قیمت ندارد.
راهکار فنی و شیوه عملکرد کد
با فیلتر woocommerce_get_price_html، میتوان یک پسوند متنی استاندارد مانند «/ هر کیلوگرم» یا «/ به ازای هر بسته» را بر اساس دستهبندی محصول به برچسب HTML قیمت در کاتالوگ و صفحه تکی کالا پیوست نمود.
قطعه کد استاندارد افزودن واحد فروش به قیمت
قطعه کد زیر را برای تفکیک واحدها در سایت درج کنید:
/*
* Add Custom Unit Suffix to WooCommerce Product Prices
* Displays price unit (e.g. / per kg, / per meter) based on product category
* Mahdi Jafarzadeh | WPWM
*/
add_filter('woocommerce_get_price_html', 'wpwm_add_unit_suffix_to_price', 10, 2);
function wpwm_add_unit_suffix_to_price($price, $product) {
if (!$product) return $price;
$unit = '';
// اگر محصول در دسته آجیل و خشکبار باشد
if (has_term('nuts', 'product_cat', $product->get_id())) {
$unit = ' (هر کیلوگرم)';
}
// اگر در دسته پارچه و طاقه باشد
elseif (has_term('fabric', 'product_cat', $product->get_id())) {
$unit = ' (هر متر)';
}
return $price . $unit;
}
نحوه استفاده و محل قرارگیری کد
- کد را به پرونده
functions.phpچایلدتم اضافه نمایید. - نامکهای دسته (مانند
nutsیاfabric) را با دستههای سایت خود تنظیم فرمایید.
نکات مهم ایمنی و نگهداری
- این پسوند به صورت نمایشی در فرانتاند ظاهر میشود و تاثیری بر مبالغ محاسباتی درگاه پرداخت ندارد.
- استایلهای برچسب به صورت کاملاً ریسپانسیو در کنار نماد تومان قرار میگیرد.
💡 به سیستمهای فروش کسری، متری یا عمدهفروشی نیاز دارید؟ از خدمات طراحی افزونههای اختصاصی در وبمستر وردپرس استفاده فرمایید.
دیدگاهها و پرسشها
پاسخها، تجربهها و دیدگاههای کاربران در یک گفتوگوی منظم.
گفتوگوهای کاربران
جدیدترین دیدگاهها در ابتدااولین پرسش یا تجربه را ثبت کنید؛ ایمیلتان نمایش داده نمیشود.