- تاریخ : 7th مارس 2020
- موضوع : اسکریپت , اسکریپت جدید , اسکریپت رایگان , اسکریپت فارسی
- بازدید : 174 نمایش
- نظرات : بدون نظر
نمایش قیمت محصولات به میلیون تومان در ووکامرس
[ad_1]
شاید محصولاتی داشته باشید که قیمتی بالاتر از یک میلیون تومان دارند و با نمایش دادن یک محصول ۱۲ میلیون تومانی بهصورت ۱۲۰۰۰۰۰۰ تومان احتمالا کاربر از سایت شما فرار خواهد کرد. در این مقاله قصد داریم با چند خط کد ساده ۱۲۰۰۰۰۰۰ تومان را بهصورت ۱۲ میلیون تومان نمایش دهیم. 🙂 با نمایش قیمت محصولات به میلیون تومان در ووکامرس حس بهتری به بازدید کننده سایت شما منتقل خواهد شد.
آنچه در این مطلب میخوانید:
نمایش قیمت محصولات به میلیون تومان در ووکامرس
زمانی که شما این کار را انجام بدهید میتوانید حس بهتری را در کاربر ایجاد کنید و همچنین کاربر شما ازنظر بازاریابی عصبی راحتتر میتواند خرید خود را انجام دهد. خب در اینجا در قسمت محصولات دوتا محصول تحت عنوان تبلت داریم. قیمت یکی از این تبلتها ۹ میلیون تومان و قیمت دیگری ۹۰۰ هزار تومان است.
ما قصد داریم قیمت این دو محصول را باهم بررسی کنیم. بعدازاینکه کارمان را انجام دادیم قیمت محصول اول باید ۹ میلیون تومان و قیمت محصول دوم تغییری نکند.
آموزش تبدیل قیمت به میلیون در ووکامرس
برای اینکه بتوانید این کار را انجام دهید باید از اتم استفاده کنید. بنابراین ctrl+shf+o را کلیک و پوشه قالب خودتان را بازکنید. سپس از مسیر Themes > wp-content < پوشه قالب < Functions را بازکنید.
شما میتوانید در فایل Functions خود توابع خود را وارد کنید و اینکه شما از چه قالبی استفاده میکنید در اینجا اهمیتی ندارد. شما میتوانید از ابتدای قالب خودتان شروع به نوشتن کد کنید.
اولین کاری که باید انجام دهید این است که یک فیلتر جدید در ووکامرس اضافه کنید. برای این کار دستور زیر را باید وارد کنید:
add_filter('raw_woocommerce_price','mihanwpmilionprice');
این کار نمایش قیمت ووکامرس را طبق تابع جدیدی که ما در اینجا میسازیم برای ما مرتب میکند. اکنون تابعی که برای این کار مشخص کردهایم را مینویسیم:
}(function mihanwpmilionprice($price)
اکنون باید این تابع را به شکل زیر شرطی کنیم:
if(is_single()){
if(floatval($price) >= 999999){
$price = $price / 1000000;
return $price;
}
}
return $price;
}
طبق تابع بالا شما مشخص میکنید که اگر قیمت محصول از ۹۹۹۹۹۹ بیشتر شد آن را تقسیمبر ۱۰۰۰۰۰۰ کند. بهعنوانمثال در اینجا ۹ میلیون تومان تقسیمبر ۱ میلیون تومان شده و ۹ بهدست میآید. همچنین مشخص میکنیم اگر هم قیمت بالاتر از این مقدار نباشد همان قیمت قبل را نشان بدهد. زمانی که تا این مرحله پیش رفتید ذخیره را انجام دهید.
همانطور که در تصاویر زیر مشاهده میکنید قیمت محصول ۹۰۰۰۰۰۰ تومانی تغییر کرده است.
نمایش قیمت بصورت میلیون تومان در ووکامرس
حال برای اینکه ۹ تومان را تبدیل به ۹ میلیون تومان کنیم یک فیلتر جدید دیگر اضافه میکنیم:
add_filter('woocommerce_currency_symbol','mihanwpmilionsymbol');
در اینجا سمبل قیمت ووکامرس را تعیین کردیم. سپس Functions را اضافه میکنیم:
}(function mihanwpmilionsymbol($symbol)
در تابع بالا ما باید یک مقداری را برگردانیم که سمبل قیمت ما است. سپس Functions را بازکرده و شروع میکنیم. کاری که در اینجا باید بکنیم این است که قبل از هر چیزی قیمت محصول را بگیریم و بر اساس قیمت سمبل قیمت را از تومان تبدیل به میلیون تومان کنیم.
if(is_single()){
$product = new WC_Product(get_the_ID());
$productprice = $product->get_price();
if(strlen($productprice) >= 7){
return 'میلیون تومان';
}
}
return 'تومان';
}
در اینجا مشخص کردیم که اگر طول قیمت ۷ یا بیشتر از ۷ باشد، سمبل قیمت را به میلیون تومان تبدیل کند و در غیر این صورت تومان را نمایش دهد. البته اگر شما از “هزار تومان” استفاده میکنید “تومان” را تبدیل به “هزار تومان” کنید و عدد ۴ را جایگزین ۷ کنید. همچنین در قطعه کد بالا باید بهجای تقسیمبر ۱ میلیون تقسیمبر هزار شود و ۹۹۹۹۹۹ تبدیل به ۹۹۹ شود.
رفع خطای سفید در صفحه سبد خرید
خب تا اینجا ما توانستیم قیمتها را بهدرستی تغییر دهیم. اما مسئلهای که در اینجا وجود دارد این است که وقتی محصولات را به سبد خرید اضافه میکنیم و به صفحه سبد خرید مراجعه میکنیم، این صفحه سفید میشود. این موضوع یعنی اینکه به ما ارور داده میشود و یک مقدار را بهصورت نادرست برای ما نشان میدهد.
خب برای اینکه این مشکل را برطرف کنیم باید قبل از کدنویسی در قطعه کدهای ۳ و ۶ کد زیر را وارد کنید.
if(is_single()){
اما ما برای راحتی کار شما کد را در همان ابتدا قرار دادهایم و نیاز به وارد کردن مجدد نیست.
همانطور که مشاهده میکنید قیمت محصول به ۹ میلیون تومان تبدیل شده است.
پس کل کدهایی که باید در قالب سایت خود اضافه کنید اینهاست:
add_filter('raw_woocommerce_price','mihanwpmilionprice');
function mihanwpmilionprice($price){
if(is_single()){
if(floatval($price) >= 999999){
$price = $price / 1000000;
return $price;
}
}
return $price;
}
add_filter('woocommerce_currency_symbol','mihanwpmilionsymbol');
function mihanwpmilionsymbol($symbol){
if(is_single()){
$product = new WC_Product(get_the_ID());
$productprice = $product->get_price();
if(strlen($productprice) >= 7){
return 'میلیون تومان';
}
}
return 'تومان';
}
موفق باشید. 🙂
راستی! برای دریافت مطالب وردپرسی در کانال تلگرام میهن وردپرس عضو شوید.
[ad_2]
لینک منبع مطلب
به نکات زیر توجه کنید