SHET24

نمایش درصد تخفیف محصول در ووکامرس بدون افزونه

نمایش درصد تخفیف محصول در ووکامرس بدون افزونه

اگه برای محصولات فروشگاهتون قیمت فروش ویژه می‌ذارید، ووکامرس به‌صورت پیش‌فرض نشان «حراج!» رو نمایش می‌ده؛ ولی مقدار دقیق تخفیف رو به مشتری نمی‌گه. با نمایش درصد تخفیف، مشتری سریع‌تر تفاوت قیمت اصلی و قیمت فروش ویژه رو می‌فهمه و لازم نیست خودش اون رو حساب کنه.

توی این آموزش از افزونه WooCommerce Smart Sale Badge استفاده نمی‌کنیم؛ چون این افزونه از مخزن وردپرس بسته شده و دیگه برای دانلود در دسترس نیست. در عوض، یک کد کوتاه رو اضافه می‌کنیم که درصد تخفیف محصولات ساده و متغیر رو محاسبه می‌کنه. بعد هم روش آزمایش و عیب‌یابی اون رو قدم‌به‌قدم می‌بینیم.

چرا بهتره درصد تخفیف محصول رو نمایش بدیم

قیمت اصلی و قیمت فروش ویژه اطلاعات لازم رو به مشتری می‌دن، ولی نمایش درصد تخفیف مقایسه رو سریع‌تر می‌کنه. برای مثال، عبارت «۲۰٪ تخفیف» در یک نگاه قابل‌فهم‌تر از مقایسه دو عدد جداست.

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

نمایش درصد تخفیف در ووکامرس بدون افزونه

کدی که در ادامه می‌بینید، فیلتر woocommerce_sale_flash رو تغییر می‌ده. فیلتر یعنی نقطه‌ای که ووکامرس اجازه می‌ده خروجی پیش‌فرض خودش رو با کد عوض کنیم. این روش برای قالب‌های کلاسیک ووکامرس طراحی شده و متن نشان «حراج!» رو به درصد تخفیف تبدیل می‌کنه.

برای محصول ساده، درصد از اختلاف قیمت اصلی و قیمت فروش ویژه حساب می‌شه. برای محصول متغیر هم کد همه تنوع‌های دارای تخفیف رو بررسی می‌کنه و بیشترین درصد تخفیف رو با عبارت «تا X٪ تخفیف» نشون می‌ده.

کد نمایش درصد تخفیف محصولات ساده و متغیر

PHP
add_filter( 'woocommerce_sale_flash', 'mihanwp_show_discount_percentage', 20, 3 );function mihanwp_show_discount_percentage( $html, $post, $product ) {    if ( ! $product || ! $product->is_on_sale() ) {        return $html;    }    $percentage = 0;    if ( $product->is_type( 'variable' ) ) {        foreach ( $product->get_children() as $variation_id ) {            $variation = wc_get_product( $variation_id );            if ( ! $variation || ! $variation->is_on_sale() ) {                continue;            }            $regular_price = (float) $variation->get_regular_price();            $sale_price    = (float) $variation->get_sale_price();            if ( $regular_price > 0 && $sale_price >= 0 && $sale_price < $regular_price ) {                $variation_percentage = round(                    ( ( $regular_price - $sale_price ) / $regular_price ) * 100                );                $percentage = max( $percentage, $variation_percentage );            }        }    } else {        $regular_price = (float) $product->get_regular_price();        $sale_price    = (float) $product->get_sale_price();        if ( $regular_price > 0 && $sale_price >= 0 && $sale_price < $regular_price ) {            $percentage = round(                ( ( $regular_price - $sale_price ) / $regular_price ) * 100            );        }    }    if ( $percentage <= 0 ) {        return $html;    }    $label = $product->is_type( 'variable' )        ? sprintf( 'تا %d%% تخفیف', $percentage )        : sprintf( '%d%% تخفیف', $percentage );    return '<span class="onsale">' . esc_html( $label ) . '</span>';}

این کد فقط متن نشان حراج ووکامرس رو عوض می‌کنه و قیمت محصولات رو تغییر نمی‌ده. برای ساخت تخفیف واقعی باید قیمت فروش ویژه رو داخل اطلاعات محصول وارد کنید. اگه می‌خواید برای خرید مشتری کد جدا بسازید، آموزش ساخت کد تخفیف در ووکامرس رو ببینید.

قیمت فروش ویژه رو وارد کنید
قیمت فروش ویژه رو وارد کنید

چطور کد رو به وردپرس اضافه کنیم

قبل از تغییر فایل‌های سایت، یک نسخه پشتیبان کامل بگیرید. بهتره کد رو داخل فایل functions.php قالب فرزند بذارید. ز نسخه‌ای جدا از قالب اصلیه که تغییرات شما رو بعد از به‌روزرسانی قالب نگه می‌داره.

  1. وارد هاست یا پنل مدیریت فایل سایتتون بشید.
  2. پوشه wp-content/themes رو باز کنید.
  3. وارد پوشه قالب فرزند فعال سایتتون بشید.
  4. فایل functions.php رو باز کنید.
  5. کد بالا رو در انتهای فایل قرار بدید و تغییرات رو ذخیره کنید.

کد رو داخل قالب اصلی نذارید؛ چون ممکنه با به‌روزرسانی قالب پاک بشه. اگه قالب فرزند ندارید یا با ویرایش فایل‌های PHP راحت نیستید، بهتره این مرحله رو به یک فرد آشنا با وردپرس بسپارید. یک اشتباه کوچک در کد PHP ممکنه سایت رو موقتاً از دسترس خارج کنه.

تنظیم قیمت فروش ویژه محصول

برای آزمایش کد، از پیشخوان وردپرس وارد بخش «محصولات» بشید و یکی از محصولات رو ویرایش کنید. در کادر «اطلاعات محصول»، قیمت اصلی رو در فیلد «قیمت عادی» و قیمت کمتر رو در فیلد «قیمت فروش ویژه» بنویسید. بعد روی «به‌روزرسانی» کلیک کنید. اگه تعداد زیادی محصول دارید، آموزش ویرایش گروهی محصولات ووکامرس کمک می‌کنه قیمت چند محصول رو سریع‌تر تغییر بدید.

برای مثال، اگه قیمت عادی ۱٬۰۰۰٬۰۰۰ تومان-ء و قیمت فروش ویژه ۸۰۰٬۰۰۰ تومان-ء باشه، نشان محصول باید عبارت «۲۰٪ تخفیف» رو نمایش بده.

تنظیم قیمت فروش ویژه محصول
تنظیم قیمت فروش ویژه محصول

تنظیم تخفیف برای محصول متغیر

محصول متغیر محصولیه که چند انتخاب مثل رنگ، اندازه یا ظرفیت داره. برای این محصولات باید وارد بخش «تغییرات» در اطلاعات محصول بشید و قیمت عادی و قیمت فروش ویژه هر تنوع رو جداگانه وارد کنید.

کد، بیشترین درصد تخفیف بین تنوع‌های فعال رو پیدا می‌کنه. برای همین ممکنه روی نشان محصول عبارت «تا ۳۰٪ تخفیف» دیده بشه، ولی بعضی تنوع‌ها تخفیف کمتری داشته باشن. این عبارت جلوی برداشت اشتباه مشتری رو می‌گیره.

آزمایش نمایش درصد تخفیف

بعد از ذخیره قیمت‌ها، هم صفحه خود محصول و هم صفحه فروشگاه رو باز کنید. بهتره نتیجه رو در یک پنجره ناشناس مرورگر هم ببینید تا نسخه ذخیره‌شده قبلی صفحه گمراهتون نکنه.

  • یک محصول ساده با قیمت فروش ویژه رو بررسی کنید.
  • یک محصول متغیر با چند قیمت متفاوت رو بررسی کنید.
  • صفحه فروشگاه، دسته‌بندی محصول و صفحه خود محصول رو ببینید.
  • نمایش نشان رو در موبایل و دسکتاپ بررسی کنید.
  • مطمئن بشید درصد نمایش‌داده‌شده با قیمت‌ها هماهنگه.
آزمایش نمایش درصد تخفیف
آزمایش نمایش درصد تخفیف

اگه درصد تخفیف نمایش داده نشد چه کار کنیم

نمایش ندادن درصد تخفیف لزوماً به معنی ناسازگار بودن کامل قالب نیست. قبل از عوض‌کردن قالب، مراحل زیر رو به‌ترتیب بررسی کنید.

  1. مطمئن بشید قیمت فروش ویژه واقعاً از قیمت عادی کمتره.
  2. کش وردپرس، افزونه کش، مرورگر و شبکه توزیع محتوا یا CDN رو پاک کنید. CDN سرویسیه که نسخه‌ای از فایل‌های سایت رو در چند سرور نگه می‌داره تا صفحه‌ها سریع‌تر باز بشن.
  3. بررسی کنید قالب، نشان پیش‌فرض حراج ووکامرس رو مخفی نکرده باشه.
  4. افزونه‌هایی رو که نشان محصول یا قیمت رو تغییر می‌دن، موقتاً و روی نسخه آزمایشی سایت غیرفعال کنید.
  5. کد رو با یک قالب کلاسیک سازگار با ووکامرس آزمایش کنید تا مشخص بشه مشکل از قالب فعلیه یا نه.

قالب‌های بلوکی ممکنه از بلوک Product Sale Badge ووکامرس استفاده کنن و فیلتر این آموزش رو اجرا نکنن. در این حالت باید خود بلوک نشان فروش یا قالب بخش محصول سفارشی بشه. مستندات رسمی بلوک Product Sale Badge ووکامرس جزئیات فنی این روش رو توضیح می‌ده.

اگه فقط می‌خواید متن پیش‌فرض «حراج!» رو عوض کنید و نیازی به محاسبه درصد ندارید، آموزش تغییر برچسب حراج ووکامرس روی محصولات روش ساده‌تری رو نشون می‌ده.

سوالات متداول

برای نمایش درصد تخفیف در ووکامرس به افزونه نیاز داریم؟

نه، با کد همین آموزش می‌تونید درصد تخفیف محصولات ساده و متغیر رو بدون نصب افزونه نمایش بدید. بهتره قبل از اضافه‌کردن کد، از سایتتون نسخه پشتیبان بگیرید و اون رو داخل قالب فرزند قرار بدید.

درصد تخفیف محصول متغیر چطور محاسبه می‌شه؟

کد همه تنوع‌های دارای تخفیف رو بررسی می‌کنه و بیشترین درصد رو با عبارت «تا X٪ تخفیف» نشون می‌ده. پس ممکنه درصد تخفیف بعضی رنگ‌ها، اندازه‌ها یا مدل‌ها کمتر از عدد روی نشان باشه.

این کد قیمت فروش ویژه محصول رو هم تنظیم می‌کنه؟

نه، این کد فقط متن نشان حراج رو به درصد تخفیف تبدیل می‌کنه. برای اعمال تخفیف واقعی باید قیمت عادی و قیمت فروش ویژه رو داخل اطلاعات محصول وارد کنید.

چرا درصد تخفیف روی محصول نمایش داده نمی‌شه؟

اول مطمئن بشید قیمت فروش ویژه از قیمت عادی کمتره. بعد کش سایت، مرورگر و CDN رو پاک کنید و بررسی کنید که قالب یا افزونه دیگه‌ای نشان حراج رو مخفی یا جایگزین نکرده باشه. قالب‌های بلوکی هم ممکنه فیلتر این آموزش رو اجرا نکنن.

آیا کد با به‌روزرسانی قالب پاک می‌شه؟

اگه کد رو داخل فایل functions.php قالب اصلی بذارید، ممکنه بعد از به‌روزرسانی قالب پاک بشه. برای حفظ کد بهتره از قالب فرزند استفاده کنید.

نتیجه‌گیری

افزونه WooCommerce Smart Sale Badge دیگه از مخزن وردپرس قابل دانلود نیست، پس بهتره آموزش فروشگاهتون رو روی اون بنا نکنید. کد این مقاله درصد تخفیف محصول ساده رو محاسبه می‌کنه و برای محصول متغیر هم بیشترین تخفیف رو با عبارت «تا X٪ تخفیف» نشون می‌ده.

بعد از اضافه‌کردن کد، حتماً نتیجه رو در صفحه محصول، آرشیو فروشگاه، موبایل و دسکتاپ آزمایش کنید. اگه از قالب بلوکی استفاده می‌کنید، ممکنه به سفارشی‌سازی جداگانه بلوک نشان فروش نیاز داشته باشید.

نظر شما در این مورد چیه؟

  1. U372371۶ اسفند ۱۴۰۳

    لطفا یک جایگزین معرفی کنید این افزونه حذف شده و قابل دانلود نیست

  2. U358965۱۲ آبان ۱۴۰۳

    این افزونه در مخزن وردپرس دیگه قابل دانلود نیست.

پشتیبانپشتیبانپشتیبانپشتیبانپشتیبان
تیم میهن وردپرس
پشتیبانپشتیبانپشتیبانپشتیبانپشتیبان
تیم میهن وردپرسآنلاین و پاسخگوی شما هستیم.آنلاین

در حال بارگذاری...

هر سوالی دارید بپرسید.پاسخگوی شما هستیم.