Làm thế nào để ẩn nút Thêm vào giỏ hàng hoặc Giá của WooCommerce cho người dùng chưa đăng nhập?

Ngày đăng: 04 - 11 - 2021 Lượt xem: 2694 lượt

Mình sẽ hướng dẫn cách ẩn nút Thêm vào giỏ hàng hoặc Giá sản phẩm của WooCommerce có điều kiện. Ví dụ: bạn sẽ có thể xóa nút thêm vào giỏ hàng và giá chỉ cho người dùng chưa đăng nhập. Tất cả điều này bạn có thể thực hiện mà không cần bất kỳ plugin nào. Cùng tìm hiểu thôi!

ẩn nút thêm vào giỏ hàng hoặc giá

Cách ẩn giá của sản phẩm, thay thế nút Thêm vào giỏ hàng bằng nút “Đăng nhập để xem giá” cho người dùng chưa đăng nhập

Trước tiên, hãy xem cách hiển thị giá và nút thêm vào giỏ hàng cho người dùng đã đăng nhập theo cách “Đăng nhập để xem giá”.

đăng nhập để xem giá

Sau đó, bạn hãy nhập dán doạn code dưới đây vào file function.php của theme hoặc child theme:

add_action( 'init', 'show_price_for_logged_in_users' );

function show_price_for_logged_in_users() {
	if ( ! is_user_logged_in() ) {
		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 );
		remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_price', 10 );
		remove_action( 'woocommerce_after_shop_loop_item_title', 'woocommerce_template_loop_price', 10 );
		add_action( 'woocommerce_single_product_summary', 'user_mesage', 31 );
		add_action( 'woocommerce_after_shop_loop_item', 'user_mesage', 11 );
	}
}
function user_mesage() {
   	echo '<a class="button" href="' . get_permalink( wc_get_page_id('myaccount') ) . '">' . __('Đăng nhập để xem giá', 'woocommerce') . '';
}

Sau đó, kết quả sẽ được hiển thị giống như ảnh chụp màn hình bên dưới.

kết quả thực tế đăng nhập xem giá

Cách ẩn nút thêm vào giỏ hàng của sản phẩm cho người dùng chưa đăng nhập?

kết quả

Bây giờ, có thể bạn không muốn ẩn giá mà chỉ cần ẩn nút thêm vào giỏ hàng. Đừng lo vì nó cũng dễ dàng để thực hiện. Chỉ cần dán đoạn code này vào bên trong file function.php của theme hoặc child theme.

function catalogue_mode_for_logged_out_users() {
	$isLoggedIn = is_user_logged_in();
	if ( false == $isLoggedIn ) {
	    remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 );	
	}
}
add_action( 'wp', 'catalogue_mode_for_logged_out_users' );

// Makes add to available for logged in users
add_filter( 'woocommerce_is_purchasable', 'keep_add_to_cart_button', 10, 2 );
function keep_add_to_cart_button( $is_purchasable, $product ) {
	$isLoggedIn = is_user_logged_in();
	if ( true == $isLoggedIn ) {
		return true;
	}
	return false;
}

Lưu và kích hoạt và nếu mọi thứ đều ổn, thì đây sẽ là kết quả cuối cùng.

Ẩn nút thêm vào giỏ hàng với người dùng chưa đăng nhập

Lời kết

Như vậy bạn đã biết cách ẩn nút Thêm vào giỏ hàng hoặc Giá của WooCommerce.

Nếu các bạn thấy hay có thể theo dõi chuyên mục WordPress cơ bản để biết thêm nhiều kiến thức mới nha.

Hãy follow fanpage để nhận được những bài viết mới nhất nhé : Hocwordpress Group

3 2 votes
Đánh giá bài viết

Nhận thông báo
Nhận thông báo cho
guest

3 Góp ý
Bình chọn
Mới nhất Cũ nhất
Inline Feedbacks
View all comments
tung

cho e hỏi chút là, có cách nào để giá bằng 0 khi chưa đăng nhập không ạ

Admin

Chèn code này vào file functions của theme đang dùng nhé


function cw_change_product_price_display( $price ) {
if(is_user_logged_in()){
return $price;
} else {
return '0 VNĐ';
}

}
add_filter( 'woocommerce_get_price_html', 'cw_change_product_price_display' );
add_filter( 'woocommerce_cart_item_price', 'cw_change_product_price_display' );

Hải

Chào bạn, dùng cách này mình có thể thay giá 0 đ trong giỏ hàng bằng liên hệ được không? Cám ơn bạn.

Firefox_Screenshot_2023-05-30T13-19-50.382Z.png

Bài viết liên quan

Tạo tab mới trong trang sản phẩm WooCommerce

Tạo tab mới trong trang sản phẩm WooCommerce

24 - 04 - 2022

Theo mặc định, WooCommerce chỉ hỗ trợ những tab cơ bản như mô tả, thông tin thêm, đánh giá. Vậy...

Làm thế nào để giỏ hàng tự động cập nhật khi thay đổi số lượng sản phẩm

Làm thế nào để giỏ hàng tự động cập nhật khi thay đổi số lượng sản phẩm

22 - 04 - 2022

Bạn có từng nghĩ rằng, sẽ tốt hơn nếu giỏ hàng tự động cập nhật khi thay đổi số...

Tạo nhãn mới và nổi bật cho sản phẩm WooCommerce

Tạo nhãn mới và nổi bật cho sản phẩm WooCommerce

18 - 04 - 2022

Theo mặc định, WooCommerce chỉ hiện nhãn cho sản phẩm hết hàng và đang được giảm giá. Nhưng nếu...

Xoá, đổi tên, thay đổi vị trí tính năng sắp xếp sản phẩm trong WooCommerce

Xoá, đổi tên, thay đổi vị trí tính năng sắp xếp sản phẩm trong WooCommerce

07 - 04 - 2022

Bạn có nhu cầu muốn xoá, đổi tên, thay đổi vị trí của tính năng sắp xếp trong WooCommerce....

Cách xoá dữ liệu WooCommerce sau khi gỡ cài đặt

Cách xoá dữ liệu WooCommerce sau khi gỡ cài đặt

02 - 03 - 2022

Bạn muốn loại bỏ dữ liệu WooCommerce ra khỏi trang web? Nếu bạn chỉ gỡ cài đặt plugin và...

Cách ẩn phạm vi giá cho các sản phẩm biến thể trong WooCommerce

Cách ẩn phạm vi giá cho các sản phẩm biến thể trong WooCommerce

12 - 12 - 2021

Bạn đang tìm cách ẩn phạm vi giá cho các sản phẩm biến thể trong WooCommerce? Theo mặc định, giá...

3
0
Would love your thoughts, please comment.x