تغییر تومان در قیمت محصول ووکامرس به المان دلخواه و svg

تغییر نماد پولی تومان در ووکامرس
به این مطلب امتیاز دهید

تغییر نماد پولی تومان در ووکامرس

در این آموزش به شما خواهیم گفت که چگونه نماد واحد پولی تومان در ووکامرس را با یک SVG دلخواه جایگزین کنیم و کد PHP ارائه‌شده را گام‌به‌گام بررسی، توضیح و نحوه استفاده آن را در سایت‌هایی که با المنتور ساخته شده‌اند توضیح می‌دهد ، همچنین شما می توانید فایل svg آن را دانلود کنید ، این روش در طراحی کارت محصول ، صفحه محصول با ووکامرس نیز کار می کند.

خلاصه کاری که کد انجام می‌دهد

کد یک فیلتر به نام woocommerce_currency_symbol اضافه می‌کند که نماد پیش‌فرض یک ارز مشخص (در اینجا IRT) را با یک مقدار دلخواه جایگزین می‌کند. این مقدار دلخواه یک قطعه SVG است که به‌صورت رشته‌ی HTML بازگردانده می‌شود تا در نمایش قیمت‌ها در قالب و ووکامرس به‌عنوان نماد واحد پول نشان داده شود.

بررسی خط به خط کد

  • add_filter(‘woocommerce_currency_symbol’, …): این خط فیلتر ووکامرس را hook می‌کند. این فیلتر هر زمان که ووکامرس می‌خواهد نماد یک ارز را نشان دهد اجرا می‌شود.
  • function($currency_symbol, $currency): تابعی ناشناس (closure) تعریف شده که دو آرگومان می‌گیرد:
    • $currency_symbol: مقدار نماد فعلی (که معمولاً رشته‌ای مثل “تومان” یا “IRR” است).
    • $currency: کد ارز (مثلاً ‘USD’، ‘EUR’ یا در حالت شما ‘IRT’).
  • if ($currency === ‘IRT’) { … }: اگر کد ارز برابر ‘IRT’ بود، مقدار نماد جایگزین می‌شود. شما می‌توانید این شرط را برای دیگر کدهای ارز یا چند ارز تغییر دهید.
  • $currency_symbol = ‘<svg …>…</svg>’; به‌جای نماد متنی، یک رشته HTML شامل عنصر SVG قرار داده شده است. این SVG همان تصویری است که در قیمت‌ها نمایش داده می‌شود.
  • return $currency_symbol; مقدار (ممکن است تغییر یافته) نماد برگردانده می‌شود تا ووکامرس از آن برای رندر قیمت استفاده کند.
  • , 10, 2: عدد 10 اولویت اجرای فیلتر است و عدد 2 نشان می‌دهد این callback دو پارامتر دریافت می‌کند.

نکات فنی و بهترین روش‌ها

  • محل قرارگیری کد: این کد را داخل functions.php قالب فرزند (child theme) یا در یک پلاگین اختصاصی قرار دهید تا با آپدیت قالب از بین نرود.
  • مراقب خروجی HTML در مکان‌های مختلف باشید: وقتی نماد به شکل SVG بازگردانده می‌شود، قالب یا افزونه‌ای که خروجی قیمت را escape می‌کند ممکن است SVG را به عنوان متن نادیده بگیرد یا sanitize کند. اگر SVG نمایش نشد، بررسی کنید فیلترها یا توابع قالب خروجی را تغییر نمی‌دهند.
  • بهینه‌سازی و حجم SVG: اگر SVG پیچیده یا بزرگ است، بهتر است آن را بهینه کنید تا حجم صفحه کم شود. اگر چند بار در صفحه استفاده می‌شود، می‌توانید SVG را به صورت inline تعریف نکنید و از sprite یا <use> یا background-image با فایل خارجی استفاده کنید.
  • سازگاری با RTL و CSS: ممکن است نیاز داشته باشید با CSS، موقعیت و فاصله‌ی SVG نسبت به قیمت را تنظیم کنید (مثلاً margin یا vertical-align).

دریافت لینک دانلود

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

پشتیبانی واتساپ