• Вопрос без рабочей ссылки на проблему считается риторическим. Без ссылки и скриншота - провокацией!

Вывод даты скидок товара (sale)

Image CMS
#1
День добрый! Подскажите ,когда в товаре прописываем цену со скидкой и устанавливаем даты действия цены со скидкой, как эти даты вывести на изображение товара( бейджик "sale" выводится ,чтобы выводилися даты ). ?
 

ADv

Гуру
Местный
#2
Попробуйте этот код добавить в functions.php темы
Код:
add_filter( 'woocommerce_get_price_html', 'custom_price_html', 100, 2 );
function custom_price_html( $price, $product ){
    global $post;
    $sales_price_to = get_post_meta($post->ID, '_sale_price_dates_to', true);
    if(is_single() && $sales_price_to != "")
    {
        $sales_price_date_to = date("j M y", $sales_price_to);
        return str_replace( '</ins>', ' </ins> <b>(Offer till '.$sales_price_date_to.')</b>', $price );
    }
    else
    {
        return apply_filters( 'woocommerce_get_price', $price );
    }
}
 

ADv

Гуру
Местный
#5
Для начала подправьте строку
Код:
return str_replace( '</ins>', ' </ins> <b>(Offer till '.$sales_price_date_to.')</b>', $price );
на
Код:
return str_replace( '</ins>', ' </ins> <b>(Предложение до '.$sales_price_date_to.')</b>', $price );
Ну или на нужное вам слово
По поводу того, чтобы выводилось на изображение - отпишусь позже.
 
#6
И как дату перевести на русский или формат 28.06.2014 г. Offer till- я изменил

Чтобы выводилось на странице показа товаров категории изображении или под ним, css подправлю ( может быть :) )
 
Последнее редактирование модератором:

ADv

Гуру
Местный
#7
Код с русскими датами
Код:
function dateToRussian($date) {
    $month = array("january"=>"января", "february"=>"февраля", "march"=>"марта", "april"=>"апреля", "may"=>"мая", "june"=>"июня", "july"=>"июля", "august"=>"августа", "september"=>"сентября", "october"=>"октября", "november"=>"ноября", "december"=>"декабря");
    $days = array("monday"=>"Понедельник", "tuesday"=>"Вторник", "wednesday"=>"Среда", "thursday"=>"Четверг", "friday"=>"Пятница", "saturday"=>"Суббота", "sunday"=>"Воскресенье");
    return str_replace(array_merge(array_keys($month), array_keys($days)), array_merge($month, $days), strtolower($date));
}
add_filter( 'woocommerce_get_price_html', 'custom_price_html', 100, 2 );
function custom_price_html( $price, $product ){
    global $post;
    $sales_price_to = get_post_meta($post->ID, '_sale_price_dates_to', true);
    if(is_single() && $sales_price_to != "")
    {
        $sales_price_date_to = dateToRussian(date("j F y", $sales_price_to));
        return str_replace( '</ins>', ' </ins> <b>Скидка до '.$sales_price_date_to.')</b>', $price );
    }
    else
    {
        return apply_filters( 'woocommerce_get_price', $price );
    }
}
Не на изображении
 
#10
Все получилось!!!!!(дата) Спасибо!

Где то допустил ошибку при копировании. Все очистил. Похоже был ввел скобочку лишнюю :)

А можно скобочку поставить
'.$sales_price_date_to.') - ('.$sales_price_date_to.')

Все нормально скобочку ввел не улетелою А как ,чтобы не 14 ,а 2014
 
Последнее редактирование модератором:

ADv

Гуру
Местный
#11
#12
Спасибо , как раз смотрел ( :)) http://wp-notes.ru/wordpress/vyivod-datyi-na-russkom/. Но Ваша ссылка лучше.
Поменял! СПАСИБО!!!!!!!!!!!!! Получилось :p !!!!!!

Теперь , чтобы еще это сделать на витрине товаров !!!!!!!!! БОЛЬШОЕ СПАСИБО !!!!!!!
 
Последнее редактирование модератором:

ADv

Гуру
Местный
#13
Теперь , чтобы еще это сделать на витрине товаров !!!!!!!!! БОЛЬШОЕ СПАСИБО !!!!!!!
Витрина товаров - это товарная категория? Не могу понять, куда нужно вывести... Скриншот что-ли покажите

P.S. Свое не отвеченное предыдущее сообщение можно редактировать, чтобы не писать 3 раза подряд "в одно лицо".