Автоматизация расчета стоимости на сайте — частая задача для владельцев сервисов, агентств и интернет-магазинов. Если вы используете WordPress и хотите сделать удобный калькулятор, который будет быстро и корректно подсчитывать итоговую цену, то плагин WPRemark может стать отличным решением. В этой статье подробно разберем, как с его помощью организовать расчет стоимости с динамическими параметрами, примеры кода, а также расскажем про важные нюансы настройки.
Возможности WPRemark для расчетов стоимости
WPRemark — это многофункциональный плагин для создания калькуляторов, форм обратной связи и автоматизации расчетов. Его главные преимущества в контексте расчетов стоимости:
- Поддержка сложных формул и условий;
- Удобный визуальный конструктор форм;
- Возможность использования AJAX для обновления данных без перезагрузки страницы;
- Интеграция с платежными системами и email-уведомлениями;
- Поддержка кастомных JavaScript и PHP функций для расширения логики расчетов.
WPRemark отлично подходит для проектов, где нужно учитывать множество параметров: количество, тип услуги, дополнительные опции, скидки и т.д.
Пример создания калькулятора расчета стоимости услуг
Рассмотрим практический пример — калькулятор расчета стоимости веб-разработки с параметрами:
- Количество страниц;
- Выбор дизайна: стандартный, индивидуальный;
- Срочность: стандартная или ускоренная;
- Дополнительные услуги: SEO, поддержка.
В WPRemark создаем форму с такими полями (select, checkbox, number). Для расчета стоимости используем встроенный механизм вычислений с формулой.
Пример формулы расчета
price = pages * 200 + design_price + urgency_price + additional_price;Где design_price, urgency_price, additional_price рассчитываются по условиям:
- design_price = 0 для стандартного дизайна, 5000 для индивидуального;
- urgency_price = 0 для стандартной срочности, 3000 для ускоренной;
- additional_price = сумма выбранных дополнительных услуг.
Код PHP для кастомной функции расчета в WPRemark
Если нужна более сложная логика, можно добавить PHP-функцию для вычислений. Например:
function wpcalc_custom_price_calculation($data) {
$pages = isset($data['pages']) ? intval($data['pages']) : 0;
$design = $data['design'] ?? 'standard';
$urgency = $data['urgency'] ?? 'standard';
$seo = !empty($data['seo']) ? 1 : 0;
$support = !empty($data['support']) ? 1 : 0;
$design_price = ($design === 'custom') ? 5000 : 0;
$urgency_price = ($urgency === 'fast') ? 3000 : 0;
$additional_price = $seo * 2000 + $support * 1500;
$total = $pages * 200 + $design_price + $urgency_price + $additional_price;
return $total;
}Эту функцию можно зарегистрировать в настройках WPRemark и использовать для подсчета итоговой цены.
Интеграция AJAX для динамического обновления стоимости
Для улучшения UX калькулятор должен обновлять стоимость сразу при изменении параметров без перезагрузки страницы. WPRemark поддерживает AJAX-запросы из формы.
Пример JavaScript для отправки данных и получения результата:
jQuery(document).ready(function($) {
$('#wpremark-form').on('change', 'input, select', function() {
var formData = $('#wpremark-form').serialize();
$.ajax({
url: wpremark_ajax_object.ajax_url,
method: 'POST',
data: {
action: 'wpcalc_recalculate_price',
form_data: formData
},
success: function(response) {
$('#total-price').text(response.data.total);
}
});
});
});На сервере нужно подключить обработчик AJAX с хуком wp_ajax_wpcalc_recalculate_price:
add_action('wp_ajax_wpcalc_recalculate_price', 'wpcalc_ajax_recalculate_price');
add_action('wp_ajax_nopriv_wpcalc_recalculate_price', 'wpcalc_ajax_recalculate_price');
function wpcalc_ajax_recalculate_price() {
parse_str($_POST['form_data'], $data);
$total = wpcalc_custom_price_calculation($data);
wp_send_json_success(['total' => $total]);
}Советы по оптимизации и безопасности расчетов
При автоматизации расчетов важно:
- Проверять и валидировать все входные данные, чтобы исключить ошибки и злоупотребления;
- Использовать nonces и проверки прав для AJAX-запросов; WPRemark поддерживает это из коробки;
- Кешировать результаты, если расчеты тяжелые — например, через Transients API;
- Минимизировать сложную логику в JavaScript, чтобы не дублировать бизнес-логику;
- Обновлять плагин WPRemark и WordPress для безопасности.
Заключение
WPRemark — мощный инструмент для автоматизации расчетов стоимости на WordPress-сайте. Его гибкость и возможность добавлять кастомный код делают плагин подходящим для широкого спектра задач — от простых форм до сложных калькуляторов с множеством параметров.
Для начала работы рекомендую скачать и изучить WPRemark на wpshop.ru. Там же найдете подробную документацию и примеры.