درج عبارت “رایگان” بهجای “۰ تومان” در محصولات ووکامرس
برای اینکه بهجای “۰ تومان” عبارت “رایگان” در قسمت قیمت محصولات، نمایش داده شود کافی است کد زیر را در فایل فانکشن قالب قرار دهید:
/* WooCommerce: Free Products */
add_filter( 'woocommerce_get_price_html', 'novinadmin_price_zero', 100, 2 );
function novinadmin_price_zero( $price, $product ){
if ( '0' === $product->get_price() ) {
$price = 'رایگان';
}
return $price;
}
درج عبارت “تماس بگیرید” در محصولات بدون قیمت
برای نمایش عبارت “تماس بگیرید” در محصولاتی که فاقد قیمت هستند، کافی است کد زیر را در فایل فانکشن قالب قرار دهید:
add_filter('woocommerce_empty_price_html', 'novinadmin_custom_call_for_price');
function novinadmin_custom_call_for_price() {
return 'تماس بگیرید';
}
بهجای عبارت “رایگان” یا “تماس بگیرید” هر عبارت دیگری را می توان درج کرد. دقت داشته باشید برای این که هر دو مورد اجرا شود میبایست هر دو کد را در فایل فانکشن قرار دهید.
آیا کدهای ارائه شده در تمامی قالبها کار میکنند؟
در نظر داشته باشید که کدهای php ارائه شده ارتباطی با قالب سایت شما ندارند و مستقیماً بر روی افزونه وردپرس تأثیرگذار هستند. بااینحال برخی از طراحان وب، کدهای php اختصاصی خود را در فایل فانکشن قرار داده یا طراحی ظاهر صفحات به نحوی است که کدهای فوق تأثیری بر مقادیر نخواهند داشت؛ بنابراین درصورتیکه با درج صحیح کدها در فایل فانکشن تغییری مشاهده نشد بهتر است با طراح قالب خود در ارتباط باشید.
26 پاسخ
با سلام
ممنون از مطلب خوبتون.
من وقتی محصول متغییر تعریف میکنم برای نمایش قیمت ها کمترین و بیشتر قیمت محصولات متغییر رو نمایش میده در حالی که ن می خوام فقط کمترین قیمت موجود نمایش داده بشه و با قراردادن کلمه From شروع قیمت ها رو در هر محصول مشخص کنم. چندتا کد رو هم امتحان کردم ولی هیچ کدوم جواب نمیده. چیکار باید بکنم؟ ممنون میشم راهنمایی کنین
درود بر شما :
میتونید از افزونه Disable Variable Product Price Range Woocommerce استفاده کنید. این افزونه قیمت حداکثر رو حذف میکنه و فقط قیمت حداقل رو نشون میده. با استفاده از افزونه های ترجمه مثل Loco Translate هم میتونید متن from رو تغییر بدید.
با سلام و تشکر از مطلب مفید شما ، در خط دوم کد قسمت ‘novinadmin_price_zero عبارت novinadmin باید نام سایت خودمون درج کنیم ؟
درود بر شما : نه نیازی نیست. اون فقط یک اسمه که در پایین هم تکرار شده .
سلام وقت بخیر ممکنه برای یک دونه محصول اینکار و کنیم یا کلا چیزی ننویسه ؟
درود بر شما:
اگر میخواید چیزی ننویسه قسمت مربوط به رو در کد خالی بزارید و تست کنید. بخش اول کامنتتون رو متوجه نشدم. هر محصولی که میخواید رایگان بنویسه کافیه قیمتش رو صفر بزارید.
سلام و عرض ادب خدمت مدیر وب سایت و بازدیدکنندگان محترم
خواستم تشکر کنم بابت کدی که در اختیار ما قرار دادید.خیلی به کارم اومد ….
ممنون از شما /فقط این کد به جای قیمت 0 رایگان رو نشون میده که بازم عالیه ، اما میشه کاری کرد که دکمه افزودن به سبد خرید رو هم نمایش نده زمانی که قیمت رو صفر میزنیم؟؟؟ ممنون میشم پاسخ بدید… با احترام
درود بر شما وحید عزیز:
در این لینک (remove add to cart for free (0 $) product woocommerce) توضیحاتی ارائه شده. کد رو در فانکشن بزنید و تست کنید.
همچنین میتونید از افزونه Remove Add to Cart WooCommerce استفاده کنید. به کمک این افزونه میتونید دکمه “افزودن به سبد خرید” رو برای محصولات خاص نمایش ندید.
سلام و احترام (تشکر از پاسخگویی شما)
این کدی که فرمودید امکان این رو داره برای بعضی از محصولات که قیمت رو صفر میزاریم دکمه افزودن به سبد خرید رو حذف کنیم و برای بعضی از محصولات بزنه رایگان ولی دکمه حذف نشه .
من بعضی از محصولاتم دانلودی هست و بعضیهاشو رایگان گذاشتم که مشتری مطالعه کنه _ اما نمیخوام برای محصولات فیزیکی که قیمت رو صفر بزارم دکمه حذف بشه
بجای کد از افزونه ای که معرفی شده استفاده بفرمایید
ممنون از شما و سایت خوبتون …
موفق باشید
سلام وقت بخیر
قیمت محصولات من در داخل دکمه افزودن به سبد خرید نشون میده که البته یه کدی قرار دادم در فانکشن که قیمت داخل دکمه نشون داده بشه
الان کد شما رو که قرار میدم موقعی که قیمت محصول رو صفر قرار میدم کلمه رایگان خارج از دکمه نمایش داده میشه
و اون 0 تومان سر جای خودش باقی میمونه
ممنون میشم راهنمایی بفرمایید
از این کد استفاده کردم ***
– بنده میخواهم کلمه رایگان داخل دکمه قرار بگیره آیا امکانش هست؟
برای این کار نیاز هست قالب شما بررسی و کدهای سایت اصلاح بشه.
سلام من بر اساس تومان تنظیم کزدم ووکامرس رو …. محصولات نباید قیمت داشته باشن ولی سبد خرید و نمایش سبد خرید رو میخوام
الان وقتی قیمت محصول رو 0 وارد می کنم سبد خرید رو ندارم چیکار کنم این گزینه رو داشته باشم
درود بر شما – متوجه منظورتون نشدم. اگر قیمتی وارد نمی کنید باید گزینه تماس با ما رو براتون بیاره. اگر قیمت 0 وارد می کنید باید عبارت 0 تومان رو بیاره اما اگر کد داده شده رو وارد کنید مینویسه رایگان. اگر وقتی 0 میزنید دکمه افزودن به سبد خرید نمایش داده نمیشه احتمالا مربوط به کدنویسی قالبتون هست
ممنون بزرگوار سریع بدون هیچ باگی جواب داد. روی وردپرس ورژن 5.9 تست کردم
درود بر شما. خوشحالیم مشکلتون حل شده
سلام وقت بخیر
با این کد برای کسانی که در سایت ثبت نام و وارد شدند بصورت رایگان نمایش میده و برای کسانی که لاگین نکردند همون 0 تومان میزنه
درود بر شما. فرقی نمیکنه کاربر لاگین بشه یا نه. در عملکرد کد تفاوتی ایجاد نمیشه. فکر میکنم در سایت شما کش فعال هست و وقتی در حالت لاگین نشده دارید سایت رو میبینید در واقع نسخه کش داره نمایش داده میشه. معمولاً در تنظیمات پیش فرض افزونه های کش، اگر کاربری لاگین باشه، نسخه بدون کش صفحات رو میبینه.
سلام و وقت بخیر
ممنون از قطعه کدهاتون – چنتا سوال :
1- ما فانکشن اصلی قالبمون کد شده و امکان قرار دادن کدهای اضافه درون اون نیست – راه حلی دارید ؟ قالب وودمارت استفاده میکنیم
2- چه قطعه کدی پیشنهاد میدید که در صفحه محصول وقتی متغیر انتخاب میشه به جای اینکه بگه این محصول موجود نیست یا این ترکیب رو نداریم – بزنه تماس با ما یا هر متنی که ما بخوایم ؟ ما الان تمام محصولاتمون متغییر هستش و برخی اصلا قیمت ندارن و وقتی ترکیبی موجود نیست متنی دیگر نمایش داده میشود
درود بر شما:
1- معمولاً طراحان قالب اگر فایل فانکشن رو کد کنن میان یک فایل دیگه به نام my-function یا مشابه میسازن و میگن کدهای شخصی رو اونجا قرار بدید. اگر نبود باید از قالب فرزند یا چایلد تم استفاده کنید.
2- افزونه “خبرم کن” شاید بدردتون بخوره. اطلاع رسانی پیامکی و ایمیل برای محصولات و یا متغیرهای ناموجود هست.
خیلی ممنون واقعا سریع و عالی جواب داد
آقای رفیعی از راهنمایی دقیق شما متشکرم
درود بر شما. خوشحالم براتون مفید بوده
سلام و درود
هیچ کدی نیست که محصولاتی که قیمتشان ۰ هست را مثل محصولات بدون قیمت نشون بده؟ یعنی نشه به سبد خرید اضافه کرد و مثلا به جای ۰ بنویسه تماس بگیرید.
درود بر شما. ببینید اینکه محصولی قیمتش 0 باشه به معنای رایگان بودن هست. باید محصول رو اصلاح کنید و قیمتش رو حذف کنید تا محصول بدون قیمت بشه. حالا میتونید با استفاده از کد درج شده بجای قیمت عبارت “تماس بگیرید” رو قرار بدید.
اگر تعداد محصولاتتون زیاده می توانید ویرایش کلی بزنید یا از افزونه های ویرایش انبوه محصولات استفاده کنید.
ممنونم به خوبی کار کرد