Я пытаюсь разрешить обратные заказы только для определенных ролей пользователей в WooCommerce.
На основе " Отключить задержку заказа для определенной роли пользователя в Woocommerce " ответ, вот мой слегка измененный код с использованием фильтра woocommerce_product_backorders_allowed
.:
add_filter( 'woocommerce_product_backorders_allowed', 'products_backorders_allowed', 10, 3 );
function products_backorders_allowed( $backorder_allowed, $product_id, $product ){
$user = wp_get_current_user();
$user_roles = (array) $user->roles;
if( in_array( 'customer', $user_roles ) && ! in_array( 'gold', $user_roles ) ){
$backorder_allowed = false;
}
return $backorder_allowed;
}
Я отключил все плагины, кроме WooCommerce, и для отладки использую тему магазина по умолчанию. до сих пор не могу заставить его работать.