WooCommerce: Ẩn giá tiền và nút thêm vào giỏ hàng đối với khách hàng chưa đăng nhập website

Bạn có thể muốn buộc người dùng đăng nhập để xem giá tiền và thêm sản phẩm vào giỏ hàng. Điều đó có nghĩa là bạn phải ẩn nút thêm vào giỏ hàng và giá tiền trên trang Cửa hàng và trang Sản phẩm khi người dùng chưa đăng nhập. Tất cả những gì bạn

Bạn có thể muốn buộc người dùng đăng nhập để xem giá tiền và thêm sản phẩm vào giỏ hàng. Điều đó có nghĩa là bạn phải ẩn nút thêm vào giỏ hàng và giá tiền trên trang Cửa hàng và trang Sản phẩm khi người dùng chưa đăng nhập.
Tất cả những gì bạn cần là dán đoạn mã sau vào function.php của mình (xin lưu ý: chủ đề của bạn có thể đã ghi đè một số hàm WooCommerce: mặc định, do đó mã bên dưới có thể không hoạt động. Hãy liên hệ với tôi nếu bạn cần mã tùy chỉnh).
WooCommerce: Ẩn giá tiền và nút thêm vào giỏ hàng đối với khách hàng chưa đăng nhập website
Đoạn mã PHP: Ẩn nút Thêm vào giỏ hàng và giá nếu đăng xuất @ Cửa hàng WooCommerce, Trang sản phẩm đơn lẻ, Widget, v.v.
/**
 * @snippet       Hide Price & Add to Cart for Logged Out Users
 * @how-to        Get aithietke.com FREE
 * @author        Mr3T, aithietke.com
 * @testedwith    WooCommerce 7
 * @community     https://aithietke.com/
 */
 
add_filter( 'woocommerce_get_price_html', 'bbloomer_hide_price_addcart_not_logged_in', 9999, 2 );
function bbloomer_hide_price_addcart_not_logged_in( $price, $product ) {
   if ( ! is_user_logged_in() ) {
      $price = '<div><a href="' . get_permalink( wc_get_page_id( 'myaccount' ) ) . '">' . __( 'Login to see prices', 'bbloomer' ) . '</a></div>';
      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_filter( 'woocommerce_is_purchasable', '__return_false' );
   }
   return $price;
}

Thêm mã tùy chỉnh ở đâu?

Bạn nên đặt PHP tùy chỉnh trong function.php và CSS tùy chỉnh trong style.css của theme con bạn: đặt tùy chỉnh WooCommerce ở đâu?

Code vẫn hoạt động, trừ khi bạn báo cáo khác. Để loại trừ xung đột, hãy tạm thời chuyển sang Storefront theme, tắt tất cả các plugin ngoại trừ WooCommerce và kiểm tra lại code: Khắc phục sự cố WooCommerce 101

Bài viết liên quan

WooCommerce: Bộ đếm ngược ngày kết thúc khuyến mãi

Bạn cảm thấy nhàm chán với huy hiệu “Giảm giá!” mặc định trên sản phẩm

Hướng dẫn WooCommerce Visual Hook: Trang tài khoản

Này WooCustomizers, Hướng dẫn về Visual Hook Trong tập này, tôi đã tạo hướng dẫ

Hướng dẫn WooCommerce Visual Hook: Emails

Công cụ tùy chỉnh WooCommerce: Hướng dẫn Visual Hook Emails! Đây là hướng dẫn HTM

Hướng dẫn WooCommerce Visual Hook: Trang thanh toán

Đây là hướng dẫn hấp dẫn HTML Visual Hook cho Trang thanh toán WooCommerce. Hướng d