我想创建一个功能,使未登录的用户无法看到产品价格,请添加到购物车和描述文字中。目前,我正在使用插件隐藏价格,直到登录为止,这样价格就不会显示出来。我也在使用此CSS代码:
body.logged-in form.cart, body.logged-in div.woocommerce-product-details__short-description, body.logged-in div.product_meta { display:none; }
这是我在互联网上可以找到的唯一代码,对我而言,它正在反方向起作用。如果有人可以帮助您,将不胜感激。
答案 0 :(得分:0)
您可以使用以下代码段隐藏价格,添加到购物车和简短说明。
add_action( 'init', 'hide_price_add_cart_not_logged_in' );
function hide_price_add_cart_not_logged_in() {
if ( !is_user_logged_in() ) {
// Remove Add to cart from shop page
remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart', 10 );
// Remove Price from shop page
remove_action( 'woocommerce_after_shop_loop_item_title', 'woocommerce_template_loop_price', 10 );
// Remove Add to cart from single product page
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 );
// Remove price from single product page
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_price', 10 );
//Remove short description (excerpt) from single product page
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_excerpt', 20 );
}
}
如果要从未登录用户的单个产品页面删除“说明”标签,请在下面的代码段中
add_filter( 'woocommerce_product_tabs', 'remove_product_description_tab', 98 );
function remove_product_description_tab( $tabs ) {
if ( !is_user_logged_in() ) {
unset( $tabs['description'] );
}
return $tabs;
}