شاید تصمیم گرفته باشید قیمت محصولات فقط برای کاربرانی قابل نمایش باشد که در وبسایت ثبت نام کرده باشند. با ما در راهکار وردپرس همراه باشید تا نحوه مخفی کردن قیمت محصولات برای کاربران مهمان را یاد بگیریم.
عدم نمایش قیمت محصولات برای کاربران مهمان
برای مخفی کردن قیمت محصولات برای کاربران مهمان در ووکامرس، میتوانید تابع سفارشی در فایل functions.php قالب فعال وردپرس خود اضافه کنید. این تابع قیمتها و دکمههای افزودن به سبد خرید را برای کاربرانی که وارد سیستم نشدهاند، مخفی میکند و پیامی به آنها نمایش میدهد که برای دیدن قیمتها نیاز به ورود بوده و نمایش قیمت فقط برای کاربران لاگین شده امکانپذیر است.
/** *@snippet Hide product prices for guest users *@Source https://Rahkarwp.com/ */ // مخفی کردن قیمتها و دکمه افزودن به سبد خرید برای کاربران مهمان add_action( 'init', 'hide_prices_and_cart_buttons_for_guests' ); function hide_prices_and_cart_buttons_for_guests() { if ( ! is_user_logged_in() ) { // مخفی کردن قیمتها در صفحات محصولات و لیست محصولات remove_action( 'woocommerce_after_shop_loop_item_title', 'woocommerce_template_loop_price', 10 ); remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_price', 10 ); // مخفی کردن دکمه افزودن به سبد خرید remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart', 10 ); remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 ); // اضافه کردن یک پیام برای تشویق کاربران مهمان به ورود یا ثبت نام add_action( 'woocommerce_single_product_summary', 'show_login_message_for_prices', 20 ); add_action( 'woocommerce_after_shop_loop_item', 'show_login_message_for_prices', 11 ); } function show_login_message_for_prices() { echo '<a href="' . get_permalink( wc_get_page_id( 'myaccount' ) ) . '">' . __('برای مشاهده قیمت وارد شوید', 'woocommerce') . '</a>'; }
توجه کنید که:
- برای نمایش قیمت فقط برای کاربران وارد شده، ابتدا با استفاده از add_action یک تابع را به init اضافه میکنیم که بررسی میکند کاربر وارد شده است یا خیر.
- اگر کاربر وارد نشده باشد، از طریق remove_action، قیمتها و دکمههای افزودن به سبد خرید را مخفی میکنیم.
- سپس با add_action، پیام ورود یا ثبت نام را جایگزین میکنیم که کاربران را به ورود یا ثبت نام تشویق میکند.
- این تغییرات را در قالب child اعمال کنید تا در صورت بهروزرسانی قالب اصلی، تغییرات شما حفظ شوند.
همچنین می توانید برای تهیه خدمات پشتیبانی وردپرس و یا طراحی افزونه وردپرس سایت اختصاصیتان با ما در تماس باشید.