به تازگی یک سوال ازم پرسیده شد که فکر کردم بهتره پاسخش رو اینجا به صورت یک پست منتشر کنم.
سوال این بود:
من بین محصولاتم در ووکامرس، یک محصول خاص دارم که میخوام بعد از پرداخت یه پیام خاص برای مشتری نمایش داده بشه.
مثلا برای همه ی محصولاتم نوشته شده: ممنون از خرید شما
ولی لازم دارم برای فلان محصول، نوشته بشه: برای ثبت نهایی سفارش، با شما تماس خواهیم گرفت.
پس سوال به این شکل بود که توضیح دادم.
راه حل چیه؟
قطعا باید افزونه هایی برای این مورد وجود داشته باشه ولی من دنبالشون نرفتم. چرا؟ چون با یه کدنویسی ساده میشه اوکی کرد.
پس اگر نیاز دارید از افزونه استفاده کنید، یه سرچ کنید و احتمالا افزونه های زیادی پیدا می کنید.
پیام تشکر از خرید اختصاصی برای یک محصول خاص
کد زیر رو کپی کنید و در فایل functions.php پوسته یا پوسته فرزند (چایلدتم) قرار بدید. (ترجیحا چایلدتم)
add_action( 'woocommerce_thankyou', 'my_custom_thank_you_message' ); function my_custom_thank_you_message( $order_id ) { $order = wc_get_order( $order_id ); $items = $order->get_items(); foreach ( $items as $item ) { if ( $item['product_id'] == 123 ) { // replace 123 with the ID of your product echo '<p>Thank you for purchasing our special product!</p>'; break; } } }
در تکه کد بالا یک تابع ساختیم به نام my_custom_thank_you_message ساختیم. (دارای یک آرگومان به نام order_id)
پایین تر در حلقه ی foreach یک شرط if وجود داره.
در قسمت [‘product_id’] == 123 در کد بالا، به جای عدد 123 باید آی دی محصول خاص خودتون رو جایگزین کنید.
همچنین به جای پیام Thank you for purchasing our special product! ، پیام مدنظر خود را قرار دهید تا به کاربر نمایش داده شود. برای مثال: “ممنون از خرید شما. منتظر بمانید تا محصول برای شما ایمیل شود.”
به همین راحتی پیام سفارشی شما برای اون محصول خاص نمایش داده میشه.
یه سوالی که ممکنه پیش بیاد: شناسه محصول رو از کجا بیاریم؟
وارد صفحه محصولات در ووکامرس بشید. روی هر محصول که ماوس رو نگه دارید (هاور کنید) شناسه محصول به صورت عدد نمایش داده میشه.
امیدوارم براتون مفید بوده باشه.
در آموزش های آتی با مستر باینری همراه باشید 🙂