Я пытаюсь включить режим каталога для магазина WooCommerce для пользователей, расположенных повсюду, кроме Австралии.
В магазине есть 2 типа товаров
Я пытался " Превратить магазин Woocommerce в каталог для стран с географическим местоположением? " код ответа, и он хорошо работает для "простых" продуктов
Проблема в том, что переменные продукты по-прежнему отображают поле количества и добавляют в корзину, хотя их нельзя купить.
Насколько я понимаю, режим каталога по существу создает товары, которые нельзя приобрести.
Если бы я мог сообщить коду для поиска типа продукта "переменная", используя что-то вроде $product->is_type( 'variable' )
, это может относиться к обоим типам товара.
Я попробовал это, которое, очевидно, не сработало. Скорее всего, функция не может принимать несколько переменных:
//Disable purchasing of products if the country is not Australia
add_filter('woocommerce_is_purchasable', 'purchasable_country_based', 10, 2);
function purchasable_country_based( $is_purchasable, $product, $product->is_type( 'variable' ) ) {
// Enable for "AU" only geolocated users country
if( get_geolocated_user_country() ==='AU' )
return true;
else
return false;
}
Так что я думаю, что мог бы добавить еще один экземпляр кода, но на этот раз для целевых переменных продуктов. Я попробовал следующее, но это также не сработало:
//Disable variable products if the country is not Australia
add_filter('woocommerce_is_purchasable', 'purchasable_country_based', 10, 2);
function purchasable_country_based( $is_purchasable, $product->is_type( 'variable' ) ) {
// Enable for "AU" only geolocated users country
if( get_geolocated_user_country() ==='AU' )
return true;
else
return false;
}