• DONATE to NULLED!
    Вы можете помочь Форуму и команде, поддержать финансово.
    starwanderer - модератор этого раздела будет Вам благодарен!

Помощь Вывод даты доставки Woocommerce

areshin71

Гуру форума
Регистрация
19 Сен 2015
Сообщения
114
Реакции
58
Здравствуйте!
Знает кто-нибудь или может реализовать вывод даты ближайшей доставки в различных местах сайта (шапка и страница товара)?
Поподробнее:
В магазине существует расписание доставки в зависимости от даты оформления заказа. Например: доставка на вторник осуществляется при оформлении заказа до 12:00 воскресенья, на четверг - до 12:00 вторника, а на субботу - до 12:00 четверга.
Т.е. код должен проверять текущие дату/время и выводить дату ближайшей доставки по заданным условиям.
Есть, конечно, плагин от yith (delivery date), но он реализует выбор даты на странице оформления заказа, что не подходит.
 
Вставляем в functions.php в каталоге темы или более пригодном месте
Как-то так:

Код:
function get_delivery_date(){
    $date = new DateTime();
    if ($date->format('H') < 12){ // Если заказ до 12:00 то
        $date->modify('+2 days'); // + 2 дня к дате доставки
        return $date->format('d.m.Y');
    }
    else{ // Иначе
        $date->modify('+3 days'); // + 3 дня к дате доставки
        return $date->format('d.m.Y');
    }
}

add_action('woocommerce_before_add_to_cart_button', 'print_dd_below_add_to_cart_button', 5); // Здесь "woocommerce_before_add_to_cart_button" - место на странице товара где будет дата доставки

function print_dd_below_add_to_cart_button(){
    $delivery_date = '<span>Ближайшая дата доставки: <b>' . get_delivery_date() . '</b></span>'; // Здесь текст и сама дата
    echo $delivery_date;
}
 
Вставляем в functions.php в каталоге темы или более пригодном месте
Как-то так:
Спасибо за предложенный вариант!
Пробовать не буду, т.к. уже решил задачу.
Если кому-нибудь будет полезно, то вот готовое решение:
Скрытое содержимое доступно для зарегистрированных пользователей!
 
Подскажите, пожалуйста, как этот код переписать, чтоб я мог его вывести с помощью шорт кода где мне нужно?

Вставляем в functions.php в каталоге темы или более пригодном месте
Как-то так:

Код:
function get_delivery_date(){
    $date = new DateTime();
    if ($date->format('H') < 12){ // Если заказ до 12:00 то
        $date->modify('+2 days'); // + 2 дня к дате доставки
        return $date->format('d.m.Y');
    }
    else{ // Иначе
        $date->modify('+3 days'); // + 3 дня к дате доставки
        return $date->format('d.m.Y');
    }
}

add_action('woocommerce_before_add_to_cart_button', 'print_dd_below_add_to_cart_button', 5); // Здесь "woocommerce_before_add_to_cart_button" - место на странице товара где будет дата доставки

function print_dd_below_add_to_cart_button(){
    $delivery_date = '<span>Ближайшая дата доставки: <b>' . get_delivery_date() . '</b></span>'; // Здесь текст и сама дата
    echo $delivery_date;
}
 
Назад
Сверху