Какой есть плагин или решения для управления ценами на основе роли пользователя?
Здравствуйте! Может кто нибудь знает готовое решение.. Нужен плагин, который в зависимости от роли пользователя, будет показывать либо базовую цену, либо цену акционную, но не просто показывать, но и чтобы в корзину падала указанная цена..
Пример:
Как вы знаете, в настройках товара есть 2 поля, базовая цена и акционная.. нужно чтобы если
Роль пользователя - Гость - показывалась только Базовая цена.. и соответственно в корзину падала Базовая цена..
Роль пользователя - Дилер - показывалась только Акционная цена.. и соответственно падала в корзину Акционная цена...
Перекопал кучу страниц и плагинов, но попадаются только плагины, которые добавляют или убавляют процент скидки в зависимости от роли.. но скидка (Акционная цена) уже установлена.. нам нужно просто продавать либо по базовой, либо по акционной определенной роли пользователя.. Очень выручите господа!
Дополнительно:
Ответы:
Используя скидочные плагины задавай скидку в них. а не родную акционную. Тогда и обретёшь счаститие.
- этот вариант не подходит, так как стоит синхронизация цен с 1с
- Nikita Mekhet, и что с того? Нет специалиста, который сделает правильную синхронизацию? Ну так это другой вопрос.
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
Для WooCommerce цены по ролям пользователей можно сделать готовым плагином, но важно выбрать тот, который меняет не только отображение цены, а именно цену в корзине и заказе. Некоторые плагины показывают “дилерскую цену” на карточке, но при добавлении в корзину WooCommerce всё равно использует обычную regular/sale price.
Ищите решения по запросам role based pricing WooCommerce, dynamic pricing by user role, wholesale prices. Обычно подходят плагины класса:
Если логика простая: гость видит базовую цену, дилер видит акционную, можно сделать кодом через фильтр цены товара. Но нужно менять цену до расчёта корзины:
add_action('woocommerce_before_calculate_totals', function ($cart) { if (is_admin() && !defined('DOING_AJAX')) { return; } $user = wp_get_current_user(); if (!in_array('dealer', (array) $user->roles, true)) { return; } foreach ($cart->get_cart() as $item) { $product = $item['data']; $sale = $product->get_sale_price(); if ($sale !== '') { $product->set_price((float) $sale); } } });
Но для магазина я бы всё-таки выбрал готовый плагин: там уже есть совместимость с вариациями, купонами, налогами, кэшем и отчётами. Перед внедрением обязательно проверьте карточку товара, корзину, оформление заказа, письма и созданный заказ в админке.