Отключить множественные вариации продукта условно на основе роли пользователя в WooCommercePhp

Кемеровские программисты php общаются здесь
Anonymous
Отключить множественные вариации продукта условно на основе роли пользователя в WooCommerce

Сообщение Anonymous »

У меня есть вариации продукта для атрибута "Lizenz" с 3 значениями: < /p>

Вариации с "mini" < /li>
Вариации с "pro" < /li>
vancies с «автобусы» < /li>

r -roles r -rles 3

. Например: < /p>

Роль пользователя: «mini» (имеет доступ только ко всем вариациям «mini») < /li>
Роль пользователя: «Pro» (имеет доступ только ко всем вариациям «Pro») < /li>
Роль пользователя: «Bussines». /> < /ul>
Частично основан на вариациях продукта Hide Specual Woocommerce от пользовательской роли на основе пользовательского поля. < /p>
//get userrole
function is_user_role( $role ) {
global $current_user;
return in_array( $role, $current_user->roles );
}
< /code>
Код работает, если я определяю только 1 вариант, чтобы быть скрытым, но не если я добавляю еще один с "и" (&&) < /p>
// Hide variation based on user role
add_filter( 'woocommerce_variation_is_visible', 'hide_conditionally_product_variation', 10, 4 );
function hide_conditionally_product_variation( $is_visible, $variation_id, $product_id, $variation ) {

// check if userole is "pro" and then hide the variations "pro" and "mini"
if ( is_user_role('pro') && 'mini' && 'bussines' === strtolower( $variation->get_attribute( 'pa_lizenz' ) ) )

{
return false;
}
return $is_visible;
}


Подробнее здесь: https://stackoverflow.com/questions/796 ... n-woocomme

Вернуться в «Php»