我目前正致力于通过woocommerce创建批发选项。当您登录并拥有用户角色“wholesale_customer”时,我将批发基础架构关闭。然而,我距离完成还有一步之遥,我无法弄明白。
我想为我们的城镇批发客户提供本地送货服务,就是这样;不是客户或访客用户。目前我们有一个usps插件,为客户和客户购买提供运输。
这是我现在所拥有的,我觉得我很接近,只是缺少一些东西。有人有什么建议吗?
function wholesale_local_delivery( $available_methods ) {
global $woocommerce;
if ( isset( $available_methods['local_delivery'] ) ) {
if (current_user_can('wholesale_customer')) {
unset( $available_methods['local_delivery'] );
}
}
return $available_methods;
}
add_filter( 'woocommerce_available_shipping_methods', 'wholesale_local_delivery' );
P.S。我知道我可以购买Woocommerce插件,但我不想这样做。
答案 0 :(得分:0)
current_user_can不会检查该角色,它会检查我认为不是您想要的权限。试试这个:
function wholesale_local_delivery($available_methods) {
global $woocommerce;
global $current_user;
$user_roles = $current_user->roles;
$user_role = array_shift($user_roles);
if ( isset( $available_methods['local_delivery'] ) ) {
if ($user_role == 'wholesale_customer' ) {
unset( $available_methods['local_delivery'] );
}
}
return $available_methods;
}
add_filter( 'woocommerce_package_rates', 'wholesale_local_delivery', 10, 1);