درج عبارت “رایگان” و “تماس بگیرید” در محصولات رایگان یا فاقد قیمت

مقدمه

در سیستم پیش‌فرض ووکامرس اگر هنگام ثبت محصول، در فیلد قیمت عدد صفر قرار دهید (به معنی محصول رایگان) در سایت قیمت محصول "0 تومان" نمایش داده می‌شود و اگر فیلد را خالی بگذارید هیچ مقداری نمایش داده نمی‌شود. این موضوع برای وب‌سایت‌های فروشگاهی با محصولات متعدد که بعضاً محصولات رایگان دارند یا قیمت برخی محصولات را باید استعلام گرفت "تماس بگیرید" مشکلاتی را ایجاد می‌کند. در این آموزش، روشی را به شما آموزش می‌دهیم که بتوانید به‌جای "0 تومان" عبارت دلخواه خود نظیر "رایگان" را قرار دهید و به‌جای محصولات بدون قیمت عبارت دلخواه نظیر "تماس بگیرید" نمایش داده شود.
راهنمای مطالعه

درج عبارت "رایگان" و "تماس بگیرید" در محصولات رایگان یا فاقد قیمت

درج عبارت “رایگان” به‌جای “۰ تومان” در محصولات ووکامرس

برای اینکه به‌جای “۰ تومان” عبارت “رایگان” در قسمت قیمت محصولات، نمایش داده شود کافی است کد زیر را در فایل فانکشن قالب قرار دهید:


/* 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 'تماس بگیرید';
}
 
  1. نحوه قراردادن کدها در فایل function.php

 

به‌جای عبارت “رایگان” یا “تماس بگیرید” هر عبارت دیگری را می توان درج کرد. دقت داشته باشید برای این‌ که هر دو مورد اجرا شود می‌بایست هر دو کد را در فایل فانکشن قرار دهید.

آیا کدهای ارائه شده در تمامی قالب‌ها کار می‌کنند؟

در نظر داشته باشید که کدهای php ارائه شده ارتباطی با قالب سایت شما ندارند و مستقیماً بر روی افزونه وردپرس تأثیرگذار هستند. بااین‌حال برخی از طراحان وب، کدهای php اختصاصی خود را در فایل فانکشن قرار داده یا طراحی ظاهر صفحات به نحوی است که کدهای فوق تأثیری بر مقادیر نخواهند داشت؛ بنابراین درصورتی‌که با درج صحیح کدها در فایل فانکشن تغییری مشاهده نشد بهتر است با طراح قالب خود در ارتباط باشید.

 

اگر از این مطلب خوشتون اومده برای دوستاتونم ارسالش کنید!

17 پاسخ

  1. با سلام
    ممنون از مطلب خوبتون.
    من وقتی محصول متغییر تعریف میکنم برای نمایش قیمت ها کمترین و بیشتر قیمت محصولات متغییر رو نمایش میده در حالی که ن می خوام فقط کمترین قیمت موجود نمایش داده بشه و با قراردادن کلمه From شروع قیمت ها رو در هر محصول مشخص کنم. چندتا کد رو هم امتحان کردم ولی هیچ کدوم جواب نمیده. چیکار باید بکنم؟ ممنون میشم راهنمایی کنین

  2. با سلام و تشکر از مطلب مفید شما ، در خط دوم کد قسمت ‘novinadmin_price_zero عبارت novinadmin باید نام سایت خودمون درج کنیم ؟

  3. سلام وقت بخیر ممکنه برای یک دونه محصول اینکار و کنیم یا کلا چیزی ننویسه ؟

    1. درود بر شما:
      اگر میخواید چیزی ننویسه قسمت مربوط به رو در کد خالی بزارید و تست کنید. بخش اول کامنتتون رو متوجه نشدم. هر محصولی که میخواید رایگان بنویسه کافیه قیمتش رو صفر بزارید.

  4. سلام و عرض ادب خدمت مدیر وب سایت و بازدیدکنندگان محترم
    خواستم تشکر کنم بابت کدی که در اختیار ما قرار دادید.خیلی به کارم اومد ….
    ممنون از شما /فقط این کد به جای قیمت ۰ رایگان رو نشون میده که بازم عالیه ، اما میشه کاری کرد که دکمه افزودن به سبد خرید رو هم نمایش نده زمانی که قیمت رو صفر میزنیم؟؟؟ ممنون میشم پاسخ بدید… با احترام

    1. درود بر شما وحید عزیز:
      در این لینک (remove add to cart for free (0 $) product woocommerce) توضیحاتی ارائه شده. کد رو در فانکشن بزنید و تست کنید.
      همچنین میتونید از افزونه Remove Add to Cart WooCommerce استفاده کنید. به کمک این افزونه میتونید دکمه “افزودن به سبد خرید” رو برای محصولات خاص نمایش ندید.

  5. سلام و احترام (تشکر از پاسخگویی شما)
    این کدی که فرمودید امکان این رو داره برای بعضی از محصولات که قیمت رو صفر میزاریم دکمه افزودن به سبد خرید رو حذف کنیم و برای بعضی از محصولات بزنه رایگان ولی دکمه حذف نشه .
    من بعضی از محصولاتم دانلودی هست و بعضیهاشو رایگان گذاشتم که مشتری مطالعه کنه _ اما نمیخوام برای محصولات فیزیکی که قیمت رو صفر بزارم دکمه حذف بشه

  6. سلام وقت بخیر
    قیمت محصولات من در داخل دکمه افزودن به سبد خرید نشون میده که البته یه کدی قرار دادم در فانکشن که قیمت داخل دکمه نشون داده بشه
    الان کد شما رو که قرار میدم موقعی که قیمت محصول رو صفر قرار میدم کلمه رایگان خارج از دکمه نمایش داده میشه
    و اون ۰ تومان سر جای خودش باقی میمونه
    ممنون میشم راهنمایی بفرمایید
    از این کد استفاده کردم ***
    – بنده میخواهم کلمه رایگان داخل دکمه قرار بگیره آیا امکانش هست؟

  7. سلام من بر اساس تومان تنظیم کزدم ووکامرس رو …. محصولات نباید قیمت داشته باشن ولی سبد خرید و نمایش سبد خرید رو میخوام
    الان وقتی قیمت محصول رو ۰ وارد می کنم سبد خرید رو ندارم چیکار کنم این گزینه رو داشته باشم

    1. درود بر شما – متوجه منظورتون نشدم. اگر قیمتی وارد نمی کنید باید گزینه تماس با ما رو براتون بیاره. اگر قیمت ۰ وارد می کنید باید عبارت ۰ تومان رو بیاره اما اگر کد داده شده رو وارد کنید مینویسه رایگان. اگر وقتی ۰ میزنید دکمه افزودن به سبد خرید نمایش داده نمیشه احتمالا مربوط به کدنویسی قالبتون هست

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

نشانی ایمیل شما منتشر نخواهد شد.

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

لطفا برای دریافت لینک دانلود اطلاعات خواسته شده را وارد نمایید