В моем виртуальном магазине с использованием темы Divi вместе с woocommerce у меня есть две группы пользователей: конечные пользователи и мои реселлеры, в случае моего конечного клиента потребуется только появится кнопка «купить». Уже для моих реселлеров только кнопка «добавить в заказ» (предоставляется плагином запроса YITH Request A Quote). В случае сомнений, будет о том, как удалить кнопку Добавить в корзину для посредникам, я знаю, используя код:Удалить в корзину кнопку для определенной роли пользователя в WooCommerce
remove_action('woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart');
remove_action('woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30);
Я удалить кнопку со всего сайта, но я пытаюсь использовать некоторые вид if
, чтобы иметь возможность определять только группу. Что-то вроде этого:
$user = wp_get_current_user();
if (in_array('Revenda', (array) $user->roles)) {
remove_action('woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart');
remove_action('woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30);
}
или это:
if(current_user_can('revenda')) {
remove_action('woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart');
remove_action('woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30);
}
Я также пытаюсь этот код:
function user_filter_addtocart_for_shop_page(){
$user_role = get_user_role();
$role_id = get_role('Revenda');
if($user_role == $role_id){
remove_action('woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart', 10);
}
}
Где get_user_role будет отображающее от:
function get_user_role() {
global $current_user;
$user_roles = $current_user->roles;
$user_role = array_shift($user_roles);
return $user_role;
}
Как я могу Читить это?
Благодаря