تغییر قیمت از 0 تومان به رایگان

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

price_free_zero_empty.txt (94 بایت)

ممنون از زمانی که برای این آموزش گذاشتین :pray:

4 پسندیده

سلام.
یه چک کنید ببینم توی error log برای شما اروری ثبت نمیشه؟

PHP Warning: Use of undefined constant ‘woocommerce_get_price_html’ - assumed ‘‘woocommerce_get_price_html’’ (this will throw an Error in a future version of PHP) in /home/------/public_html/wp-content/themes/---------/functions.php on line 430

و اینکه راه حلش چیه؟

@ali_rointan ‌‌‌‌‌‌‌‌‌‌‌‌‌‌

با سلام
من خودم الان روی سایتم از این کد استفاده نمیکنم
ولی از @Hosein بپرسین فکر کنم یه کد تو مایه های این رو استفاده میکنن تو قالب اوا شاپ
با تشکر

1 پسندیده

@Hosein
درود حسین عزیز.

این کدی که گذاشته شده داره warning میده مرتب error log رو پر میکنه.

آیا میشه کد رو تغییر داد یا که بیخیال وارنینگ بشیم؟

مچکرم.

سلام

این کد رو هم بررسی کنید:

add_filter('woocommerce_get_price_html', 'changeFreePriceNotice', 10, 2);
function changeFreePriceNotice($price, $product) {
	if ( $price == wc_price( 0.00 ) )
		return 'رایگان!';
	else
		return $price;
}

پیشنهاد میکنم این کد رو در فایل functions.php چایلد تم اضافه کنید و یا از پلاگین زیر استفاده کنید تا با بروزرسانی قالب، کدهای کاستم شما از بین نروند:

3 پسندیده

با سلام
از این کد میتوانید استفاده نمایید
باید این کد را در فایل functions.php قرار دهید
از کد اقای @Rahim کوتاه تر میباشد

function heart(){
return 'رایگان';
}
add_filter('woocommerce_empty_price_html','heart');

همچنین کد اولیه در تاپیک نیز به کد بالا تغییر پیدا کرد
با تشکر

@ali_rointan

سلام

این کد رو تست کردید؟
از عملکردش مطمئن هستید؟

با سلام خدمت شما @rahim
بله کد رو تست کردم و کار میکنه

سایتی که کد رو تست کردم

silisgroup.ir

با تشکر

سلام

متاسفانه صحت کد شمارو نمیتونم تایید کنم.
دوستان دیگر هم بررسی کنند و نظرشون رو بگن.

این‌ها احتمالا محصولات simple هستن، با variant هم تست کنید که احتمالا هوک دیگری هم نیازه
woocommerce_variable_empty_price_html

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

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

add_filter( 'woocommerce_get_price_html', 'iranwp_price_free_zero_empty', 9999, 2 );
   
function iranwp_price_free_zero_empty( $price, $product ){
    if ( '' === $product->get_price() || 0 == $product->get_price() ) {
        $price = '<span class="woocommerce-Price-amount amount">رایگان</span>';
    }  
    return $price;
}
3 پسندیده

سلام دوستان
من دنبال کدی هستم که وقتی موجودی محصول تمام میشه خودش اتوماتیک قیمت محصول رو به صفر تبدیل کنه (به جای ناموجود نشون دادن) و در frontend رایگان نمایش بده و همچنین در کدهای اسکیما هم رایگان نمایش داده بشه.
کدی برای این کار هست؟

1 پسندیده