Избегайте задержек по продукту для «клиента» роль пользователя в Woocommerce

У меня есть два типа ролей: обычный клиент и оптовый покупатель. Оптовые клиенты должны иметь возможность размещать заказы, а обычные клиенты не имеют права размещать заказы. Я не php-разработчик, и мой код еще не работает, пожалуйста, помогите мне заставить его работать:

add_filter( 'woocommerce_product_backorders_allowed', 'woocommerce_product_backorders_allowed', 10, 3 );
function woocommerce_product_backorders_allowed( $backorder_allowed, $product_id, $product ){
$targeted_user_role = 'zakelijke_klant';
$user_data = get_userdata(get_current_user_id());
if ( in_array( $targeted_user_role, $user_data->roles ) ) {
$backorder_allowed = true;
}
return $backorder_allowed;
}

1

Решение

Вместо этого попробуйте следующее, ориентируясь на обычную пользовательскую роль:

add_filter( 'woocommerce_product_backorders_allowed', 'woocommerce_product_backorders_allowed', 10, 3 );
function woocommerce_product_backorders_allowed( $backorder_allowed, $product_id, $product ){
if ( current_user_can('customer') ) {
$backorder_allowed = false;
} else {
$backorder_allowed = true;
}

return $backorder_allowed;
}

Код помещается в файл function.php вашей активной дочерней темы (active theme). Проверено и работает.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector