Какой есть плагин или решения для управления ценами на основе роли пользователя?

Ссылка скопирована
1 ответ

Здравствуйте! Может кто нибудь знает готовое решение.. Нужен плагин, который в зависимости от роли пользователя, будет показывать либо базовую цену, либо цену акционную, но не просто показывать, но и чтобы в корзину падала указанная цена..
Пример:
Как вы знаете, в настройках товара есть 2 поля, базовая цена и акционная.. нужно чтобы если
Роль пользователя - Гость - показывалась только Базовая цена.. и соответственно в корзину падала Базовая цена..
Роль пользователя - Дилер - показывалась только Акционная цена.. и соответственно падала в корзину Акционная цена...

Перекопал кучу страниц и плагинов, но попадаются только плагины, которые добавляют или убавляют процент скидки в зависимости от роли.. но скидка (Акционная цена) уже установлена.. нам нужно просто продавать либо по базовой, либо по акционной определенной роли пользователя.. Очень выручите господа!

Дополнительно:

Ответы:

Используя скидочные плагины задавай скидку в них. а не родную акционную. Тогда и обретёшь счаститие.

  • этот вариант не подходит, так как стоит синхронизация цен с 1с
  • Nikita Mekhet, и что с того? Нет специалиста, который сделает правильную синхронизацию? Ну так это другой вопрос.
Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Ирина WP Ответ

Для WooCommerce цены по ролям пользователей можно сделать готовым плагином, но важно выбрать тот, который меняет не только отображение цены, а именно цену в корзине и заказе. Некоторые плагины показывают “дилерскую цену” на карточке, но при добавлении в корзину WooCommerce всё равно использует обычную regular/sale price.

Ищите решения по запросам role based pricing WooCommerce, dynamic pricing by user role, wholesale prices. Обычно подходят плагины класса:

  • WooCommerce Wholesale Prices;
  • YITH Role Based Prices;
  • Discount Rules for WooCommerce;
  • Booster for WooCommerce, если нужен набор функций.

Если логика простая: гость видит базовую цену, дилер видит акционную, можно сделать кодом через фильтр цены товара. Но нужно менять цену до расчёта корзины:

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);
        }
    }
});

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); } } });

Но для магазина я бы всё-таки выбрал готовый плагин: там уже есть совместимость с вариациями, купонами, налогами, кэшем и отчётами. Перед внедрением обязательно проверьте карточку товара, корзину, оформление заказа, письма и созданный заказ в админке.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно