Mở rộng mã trên (cảm ơn Ewout), đoạn mã sau sẽ loại bỏ tất cả giá và các nút 'thêm vào giỏ hàng' trên tất cả các sản phẩm thương mại điện tử, cũng như đưa ra lời giải thích về lý do. Tôi cần mã cho một trang web cung cấp các sản phẩm bán trực tiếp và để tuân thủ các quy tắc của họ, tôi không thể hiển thị giá cho công chúng.
Thêm bộ lọc vào tệp tin.php của chủ đề.
add_filter('woocommerce_get_price_html','members_only_price');
function members_only_price($price){
if(is_user_logged_in() ){
return $price;
}
else {
remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart' );
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_price', 10 );
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 );
remove_action( 'woocommerce_after_shop_loop_item_title', 'woocommerce_template_loop_price', 10 );
return 'Only <a href="' .get_permalink(woocommerce_get_page_id('myaccount')). '">Registered Users</a> are able to view pricing.';
}
}