WooCommerce добавить в корзину зависает

Я настраиваю веб-сайт woocommerce, и мне нужно, чтобы продукт можно было приобрести у клиентов (пользователей), которые имеют настраиваемую возможность, которая соответствует названию продукта (название бренда является атрибутом продукта). Таким образом, я могу решить, какой пользователь может покупать продукты каждого бренда.

Поиск в Интернете, я нашел код, который я адаптировал для своих нужд:

// Disable purchase based on users capabilities
function check_brand_purchase_capability( $purchasable, $product ) {

// Don't run on parents of variations,
// this will already check variations separately
if ( $product->is_type( 'variable' ) ) {
return $purchasable;
}

global $product;
$brand_name = strtolower ( $product->get_attribute( 'pa_brand' ) );

// Check if user has the capability corresponding to the brand name
if ( current_user_can( $brand_name ) ) {
$purchasable = true;
} else {
$purchasable = false;
}

// Double-check for variations: if parent is not purchasable, then variation is not
if ( $purchasable && $product->is_type( 'variation' ) ) {
$purchasable = $product->parent->is_purchasable();
}

return $purchasable;
}
add_filter( 'woocommerce_variation_is_purchasable',
'check_brand_purchase_capability', 10, 2 );
add_filter( 'woocommerce_is_purchasable', 'check_brand_purchase_capability',
10, 2 );

С помощью этого кода я правильно включаю / отключаю кнопку «добавить в корзину» независимо от того, имеет ли пользователь правильные возможности или нет.

Проблема в том, что когда кнопка включена и я нажимаю «добавить в корзину», кнопка зависает и ничего не происходит.
Кто-нибудь знает, почему это происходит? Спасибо за помощь

0

Решение

Задача ещё не решена.

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

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

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