Тема: Фильтры, хуки, add_filter, wpcc_result_filter
С версии 3.6.1 для результата калькулятора был дописан фильтр под названием: wpcc_result_filter
Срабатывает после того как выполнено арифметическое выражение указанное в настройках "Управление результатами расчета" но до того как применяется округление результата если оно применено.
Фильтр передает 3 параметра:
1. Результат
2. ID калькулятора
3. Порядковый номер результата
У всех калькуляторов всегда есть первый результат, который нельзя удалить. Остальными результатами управляет администратор. Подробнее о результатах тут: http://zetrider.ru/forum/viewtopic.php?id=72
Пример использования:
добавим к результату 1, калькулятора 5 значение поля 33 из этого же калькулятора:
add_filter( 'wpcc_result_filter', 'add_wpcc_result_filter', 1, 3);
function add_wpcc_result_filter($wpcc_sum, $wpcc_id, $wpcc_sum_id) {
$return = $wpcc_sum;
$session = is_array($_SESSION['wpcc_'.$wpcc_id]) ? $_SESSION['wpcc_'.$wpcc_id] : array();
if($wpcc_id == 5 AND $wpcc_sum_id == 1)
{
$return = $wpcc_sum + $session[33];
}
return $return;
}
Примечание:
Данные в $_SESSION занесены до того как срабатывает фильтр кроме данных о результатах расчета калькулятора.