Woocommerce is_purchasable 可变产品挂钩
Woocommerce is_purchasable hook for variable products
我正在使用以下代码使 woocommerce 上的所有产品都无法购买,除非用户已登录。
function et_remove_atc(){
if( ! is_user_logged_in() ){
return false;
}else{
return true;
}
}
add_filter( 'woocommerce_is_purchasable', 'et_remove_atc' );
这仅适用于简单产品,不适用于可变产品。我已尝试添加以下附加过滤器,但这不起作用。
add_filter( 'woocommerce_variation_is_purchasable', 'et_remove_atc', 10, 2 );
我错过了什么?
这是默认的 woocommerce 设置。你是否允许访客。
取消选中复选框允许客户在没有帐户的情况下下订单
查看此屏幕截图:https://prnt.sc/11fj0kc
您对可变产品及其变体使用了正确的挂钩。请注意,变量产品上的添加到购物车按钮将对客人保持灰色(禁用)。如果不是这种情况,可能是由于插件、您的主题自定义或您进行的一些其他自定义。
要使用的正确代码是:
add_filter( 'woocommerce_is_purchasable', 'avoid_guest_purchases' );
add_filter( 'woocommerce_variation_is_purchasable', 'avoid_guest_purchases' );
function avoid_guest_purchases( $is_purchasable ){
if( ! is_user_logged_in() ){
return false;
}
return $is_purchasable;
}
代码进入活动子主题(或活动主题)的 functions.php 文件。已测试并有效。
要为客人删除变量添加到购物车按钮(在单个产品页面上),请使用以下内容:
add_action( 'woocommerce_single_product_summary', 'remove_variable_add_to_cart_button', 1 );
function remove_variable_add_to_cart_button() {
global $product;
// For variable product types (keeping attribute select fields)
if( $product->is_type( 'variable' ) && is_user_logged_in() ) {
remove_action( 'woocommerce_single_variation', 'woocommerce_single_variation_add_to_cart_button', 20 );
}
}
代码进入活动子主题(或活动主题)的 functions.php 文件。已测试并有效。
我正在使用以下代码使 woocommerce 上的所有产品都无法购买,除非用户已登录。
function et_remove_atc(){
if( ! is_user_logged_in() ){
return false;
}else{
return true;
}
}
add_filter( 'woocommerce_is_purchasable', 'et_remove_atc' );
这仅适用于简单产品,不适用于可变产品。我已尝试添加以下附加过滤器,但这不起作用。
add_filter( 'woocommerce_variation_is_purchasable', 'et_remove_atc', 10, 2 );
我错过了什么?
这是默认的 woocommerce 设置。你是否允许访客。
取消选中复选框允许客户在没有帐户的情况下下订单
查看此屏幕截图:https://prnt.sc/11fj0kc
您对可变产品及其变体使用了正确的挂钩。请注意,变量产品上的添加到购物车按钮将对客人保持灰色(禁用)。如果不是这种情况,可能是由于插件、您的主题自定义或您进行的一些其他自定义。
要使用的正确代码是:
add_filter( 'woocommerce_is_purchasable', 'avoid_guest_purchases' );
add_filter( 'woocommerce_variation_is_purchasable', 'avoid_guest_purchases' );
function avoid_guest_purchases( $is_purchasable ){
if( ! is_user_logged_in() ){
return false;
}
return $is_purchasable;
}
代码进入活动子主题(或活动主题)的 functions.php 文件。已测试并有效。
要为客人删除变量添加到购物车按钮(在单个产品页面上),请使用以下内容:
add_action( 'woocommerce_single_product_summary', 'remove_variable_add_to_cart_button', 1 );
function remove_variable_add_to_cart_button() {
global $product;
// For variable product types (keeping attribute select fields)
if( $product->is_type( 'variable' ) && is_user_logged_in() ) {
remove_action( 'woocommerce_single_variation', 'woocommerce_single_variation_add_to_cart_button', 20 );
}
}
代码进入活动子主题(或活动主题)的 functions.php 文件。已测试并有效。