Задать вопрос
youmixx
@youmixx
PHP Developer

Wordpress нужна консультация. Какой плагин выбрать, для определённых работ?

Здравствуйте. У меня есть сайт, хочу сделать скидку на первый товар в размере 20%. Проблема в том, что я не знаю как это сделать. Я сильно сомневаюсь, что это возможно без регистрации сделать, ведь нам нужно как-то идентифицировать пользователя, верно?

Если я прав, то какой плагин для этого лучше всего выбрать? Как сделать так, что-бы давалась скидка на первый заказ. Естественно человеку ещё должно писаться на странице оплате, что у вас будет скидка.

Я прошу не писать что-то по типу "Создай промокод и не морочь себе голову", для меня это не подходит, мне нужно что-бы сайт сам давал скидку, если первый заказ.

Видел например вот этот сайт https://inbenefit.com/woocommerce-%D0%BB%D0%B8%D1%...

Я скачал от сюда второй плагин "Ultimate Membership (WooCommerce)", с ним получится это сделать? Если нет, то какой тогда плагин выбрать.
  • Вопрос задан
  • 174 просмотра
Подписаться 2 Средний Комментировать
Пригласить эксперта
Ответы на вопрос 1
youmixx
@youmixx Автор вопроса
PHP Developer
Нашёл ответ.

Сделал не большую функцию, которая возвращает количество уже совершенных покупок человеком на сайте. Работает без регистрации. Честно говоря, сам не совсем понимаю, когда он сохраняет сколько у кого заказов, главное что сохраняет.

function check_count() {
        $id = get_current_user_id();
        $count = wc_get_customer_order_count($id);
        return $count;
    }


$id = get_current_user_id(); - получить id человека.
$count = wc_get_customer_order_count($id); - узнаем количество заказов.
return $count; - возвращаем это количество.

Потом, чтобы выдать саму скидку, я сделал так.

add_action( 'woocommerce_cart_calculate_fees','woocommerce_custom_surcharge');
    function woocommerce_custom_surcharge() {
        global $woocommerce;

        if ( is_admin() && ! defined( 'DOING_AJAX' ) )
            return;

        if(check_count() == 0) 
        {
            $summ = $woocommerce->cart->subtotal;
            $summ = ceil($summ / 100 * 20);
            $woocommerce->cart->add_fee("Скидка за первый заказ: ", -$summ);
        }
    }


$summ = $woocommerce->cart->subtotal; - узнаем общую сумму всего заказа (не считая цену доставки, если такова есть).
$summ = ceil($summ / 100 * 20); - Цифра 20, это сколько выдать скидку в процентах. Если что, делайте свои вычисления. ceil() - чтобы округлить до целого.
$woocommerce->cart->add_fee("Скидка за первый заказ: ", -$summ); Ну это добавляем уже саму скидку, выглядит хорошо.

Пользуйтесь.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы