در طراحی فروشگاههای اینترنتی با وردپرس و ووکامرس، یکی از فاکتورهای تأثیرگذار در افزایش نرخ کلیک و فروش، نمایش درصد تخفیف محصولات است. این درصد که نشاندهنده میزان سود مشتری در خرید محصول با تخفیف است، میتواند به طرز چشمگیری رفتار کاربر را تحت تأثیر قرار دهد.
در این مقاله، قصد داریم روشی کاملاً سفارشی و اصولی برای نمایش خودکار درصد تخفیف محصولات در المنتور معرفی کنیم. این روش با استفاده از یک قطعه کد PHP ساده، درصد تخفیف را محاسبه کرده و در متای محصول ذخیره میکند. سپس از طریق برچسب پویا در المنتور میتوانید آن را نمایش دهید.
مقاله پیشنهادی: نمایش محصولات تخفیف خورده در المنتور
مشکل المنتور در نمایش درصد تخفیف محصولات ووکامرس
المنتور پرو ابزار قدرتمندی برای طراحی صفحات فروشگاهی است، اما بهطور پیشفرض امکان نمایش درصد تخفیف محصول بهصورت داینامیک را در ویجت «لوپ/حلقه» یا سایر المانها فراهم نمیکند. در بسیاری از موارد، کاربران مجبور میشوند دستی این مقدار را وارد کنند یا از افزونههای سنگین و تجاری استفاده کنند که اغلب سفارشیسازی پایینی دارند.
کد نمایش درصد تخفیف محصولات ووکامرس در المنتور
در ادامه، یک قطعه کد خاص معرفی میکنیم که پس از بهروزرسانی هر محصول در ووکامرس، درصد تخفیف آن را بهصورت خودکار محاسبه کرده و در متای اختصاصی با کلید discount_percentage ذخیره میکند. این کد هم از محصولات ساده پشتیبانی میکند و هم از محصولات متغیر. کد زیر را در فایل function.php قالب فرزند سایت قرار دهید.
function fb_update_product_discount_meta($product_id) {
$product = wc_get_product($product_id);
if (!$product) {
return;
}
$max_discount_percentage = 0;
if ($product->is_type(‘variable’)) {
$variation_ids = $product->get_children();
foreach ($variation_ids as $variation_id) {
$variation_product = wc_get_product($variation_id);
if (! $variation_product || ! $variation_product->is_in_stock()) {
continue;
}
$regular_price = (float) $variation_product->get_regular_price();
$sale_price = (float) $variation_product->get_sale_price();
if ($regular_price > 0 && $sale_price > 0 && $regular_price > $sale_price) {
$discount_percentage = round((($regular_price – $sale_price) / $regular_price) * 100);
if ($discount_percentage > $max_discount_percentage) {
$max_discount_percentage = $discount_percentage;
}
}
}
if ($max_discount_percentage > 0) {
update_post_meta($product_id, ‘discount_percentage’, $max_discount_percentage);
} else {
delete_post_meta($product_id, ‘discount_percentage’);
}
} else {
if ($product->is_in_stock()) {
$regular_price = (float) $product->get_regular_price();
$sale_price = (float) $product->get_sale_price();
if ($regular_price > 0 && $sale_price > 0 && $regular_price > $sale_price) {
$discount_percentage = round((($regular_price – $sale_price) / $regular_price) * 100);
update_post_meta($product_id, ‘discount_percentage’, $discount_percentage);
} else {
delete_post_meta($product_id, ‘discount_percentage’);
}
} else {
delete_post_meta($product_id, ‘discount_percentage’);
}
}
}
منبع: فرانت باز (frontbaz.com)
نکته: درصورتی که کد بالا اجرا نشد، کدها را از فایل زیر کپی کرده و در فانکشن قالب قرار دهید.

آموزش استفاده از درصد تخفیف در آیتم حلقه المنتور
حالا که درصد تخفیف در متای محصول ذخیره شده است، کافی است از المنتور برای نمایش آن استفاده کنید.
مراحل اضافه کردن مقدار تخفیف محصولات در المنتور:
ابتدا از پیشخوان وردپرس>قالبها روی افزودن جدید کلیک کنید و یک قالب حلقه ایجاد کنید.
بعد از ورود به ویرایشگر المنتور، تنظیمات اولیه و دیزاین باکس محصول را انجام دهید.
سپس از ویجتهای المنتور، ویجت (سربرگ) را انتخاب کنید و در مکان دلخواه قرار دهید.

در تنظیمات ویجت، در بخش عنوان، روی (برچسب پویا) کلیک کنید و گزینه (فیلد دلخواه نوشته) را انتخاب کنید.

سپس در تنظیمات برچسب، قسمت key، کلید یا عبارت discount_percentage را قرار دهید. با اضافه کردن این کلید، درصد تخفیف محصول نمایش داده میشود.

نکته مهم در استفاده از کد نمایش درصد تخفیف محصول
اگه مراحل بالا به درستی انجام شود، درصد تخفیف هر محصول ووکامرس به خوبی نمایش داده میشود. نکته مهم در رابطه با استفاده از کد بالا این است که بعد از ذخیره سازی آیتم حلقه المنتور باید هر محصول ووکامرس که دارای فروش ویژه یا تخفیف میباشد را یک بار ذخیره کنید تا دیتای آن در دیتابیس سایت ذخیره شود.
شاید بتوان گفت این مورد از ایرادات این کد میباشد اما تا حد زیادی کار شما را در نمایش درصد تخفیف محصولات در المنتور راحت میکند.
لازم به ذکر است که در آینده روشها و کدهای بهینه تر برای نمایش درصد تخفیف محصول در لوپ گرید المنتور آموزش داده میشود و در همین مقاله قرار داده میشود.
نتیجه گیری
نمایش درصد تخفیف محصولات در المنتور نه تنها ظاهر حرفهایتری به فروشگاه آنلاین شما میبخشد، بلکه به افزایش فروش و جلب اعتماد کاربران نیز کمک میکند. با استفاده از روشی که در این مقاله ارائه شد، شما میتوانید بدون نیاز به افزونههای سنگین، این قابلیت را در فروشگاه ووکامرس خود با المنتور پیادهسازی کنید.
این روش بهصورت کامل با محصولات ساده و متغیر سازگار است، کاملاً سبک و بهینه نوشته شده و با قابلیتهای پویا و منعطف المنتور نیز هماهنگ میباشد.
نظرت در مورد مقاله شاه چیه؟
میانگین امتیاز 0 / 5. تعداد آراء 0







7 پاسخ
سلام وقت بخیر این کد خطا میدهد
سلام دوست عزیز.
چه خطایی؟
an error on line 20:
Syntax error, unexpected ‘–’ (T_STRING)
خط 20 کد رو چک کن، احتمالا یه جا از دش(_) به جای خط تیره(-) استفاده شده.
باسلام این کد رو رفع کنید
syntax error, unexpected variable “$sale_price”
سلام، این مشکلات مربوط به syntax عمدتاً به خاطر کپی پیست کردن در ابزارهای مختلف هست که باعث میشه نگارش بعضی علامتها تغییر کنه.
کد رو دوباره بروز کردیم، تست کنید، اگر مشکلی بود در خدمتیم.
با سلام این کد رو رفع کنید
syntax error, unexpected variable “$sale_price”