This plugin allows you to use predefined calculated callbacks or register any callback you want to perform any calculations with data outputed by Dynamic Field widget.
Default callbacks:
- increase_value_by_percentage - increase default value of Dynamic Fild widget to spcified number of percents.
- decrease_value_by_percentage - decrease default value of Dynamic Fild widget to spcified number of percents.
- sum_fields - retruns sum of default field and any additional fields you want.
- fields_diff - retruns difference of default field and any additional fields you want.
- mupltiple_fields - retruns the result of multiplying of default field and any additional fields you want.
This code should be added into functions.php file of active theme:
add_filter( 'jet-engine-calculated-callback/config', function( $callbacks = array() ) {
/**
* Dynamic total price depending on guests number
* $field_value - is default price per guest for example
*/
$callbacks['custom_callback'] = function( $field_value ) {
$additional_field = 'guests-number';
$additional_field_value = jet_engine()->listings->data->get_meta( $additional_field );
$result = 0;
if ( $additional_field_value >= 10 ) {
$result = $field_value * $additional_field_value - $field_value * $additional_field_value * 0.2;
} elseif ( 5 <= $additional_field_value && $additional_field_value < 10 ) {
$result = $field_value * $additional_field_value - $field_value * $additional_field_value * 0.1;
} else {
$result = $field_value * $additional_field_value;
}
return $result;
};
return $callbacks;
} );
Where:
- $field_value - is value of the field selected in Dynamic Filed widget settings.
- $callbacks - is all registered custom callbacks list.
- body of custom_callback funtion - is any calculations you want to perform.