Наверняка вы видели во множестве интернет-магазинов фразу под ценой вида «купить в рассрочку от XXXX рублей в месяц». Вот и на одном из клиентских сайтов понадобилось сделать подобное. Рассрочка уже была, теперь захотелось добавить сумму ежемесячного платежа.
Делать решили шорткодом, чтобы можно было вывести в произвольном месте.
//Выводим сумму платежа в рассрочку шорткодом
add_shortcode( 'installments', 'installments_func' );
function installments_func() {
//Получаем обычную цену товара и делим на 12 месяцев
$price = get_post_meta( get_the_ID(), '_regular_price', true) / 12;
//Получаем цену распродажи и делим на 12 месяцев
$sale = get_post_meta( get_the_ID(), '_price', true) / 12;
//Форматируем цены, чтобы были тысячные и десятичные разделители
$output_installments_price = number_format($price, 0, '.', ' ');
$output_installments_sale = number_format($sale, 0, '.', ' ');
//Если задана цена распродажи, выводим сумму платежа на её основе
if ( !empty($sale)) {
return 'от ' . $output_installments_sale . ' руб. в месяц';
//Если скидок нет, выводим сумму платежа на основе обычной цены
} else {
return 'от ' . $output_installments_price . ' руб. в месяц';
}
}
installments
— название шорткода, которое будет использоваться для вывода суммы платежа на странице товара.
installments_func
— функция, которая будет срабатывать при обнаружении шорткода на странице.
Вот и всё. Осталось добавить шорткод [installments]
в нужное место.
На данном сайте предусмотрены два варианта срока по рассрочке: 6 и 12 месяцев. Для расчёта взяли 12, т. к. сумма платежа при этом меньше. В случае с кредитом в формуле стоит учесть минимальную процентную ставку.