我有一个有6个变体成员的产品(会员,会员,会员.)如果登录用户是成员组的“专门成员”,则可以启用或禁用整个产品的购买(所有变体)。
if ( user_can( $current_user, "specialmember" )) {
return true;
}
else {
return true;
}怎么可能只禁用一个变化(成员) für这个用户组?
非常感谢你帮助一个初学者!
发布于 2021-03-31 11:01:16
通过使用这些钩子标记中的任何一个,您可以禁用特定的变体。
woocommerce_available_variationwoocommerce_variation_is_active解决方案1
add_filter(
'woocommerce_available_variation',
function ( $data, $product, $variation ) {
if ( 'green' === strtolower( $variation->get_attribute( 'pa_color' ) ) ) {
$data['variation_is_active'] = false;
}
return $data;
},
10,
3
);解决方案2
add_filter(
'woocommerce_variation_is_active',
function( $data, $variation ) {
if ( 'green' === strtolower( $variation->get_attribute( 'pa_color' ) ) ) {
return false;
}
return $data;
},
10,
2
);在这两种解决方案中,我们都检查变量属性pa_color是否为green,如果是,则通过为variation active属性指定false来禁用该选项。
因此,变体将被禁用,如下图所示。

过滤器钩源代码
https://stackoverflow.com/questions/66884215
复制相似问题