Итак, что я хочу сделать, это взять значение поля, поле даты и добавить к нему определенный период времени, а затем превратить его в тег слияния, который я затем смогу добавить обратно в это значение или использовать еще где.
Я знаю, как сделать новый тег слияния, это не проблема. Мой вопрос: как мне получить значение поля для использования в этом расчете?
add_filter( 'gform_replace_merge_tags', 'new_date_plus_30', 10, 7 );
function new_date_plus_30( $text, $form, $entry, $url_encode, $esc_html, $nl2br, $format ) {
$merge_tag = '{date_plus_30}';
$new_date = date('m/d/Y', strtotime('+30 days'));
return str_replace( $merge_tag, $new_date, $text );
}
Итак, когда я делаю новый расчет даты, мне нужно иметь возможность извлечь поле из этого поста и использовать его.
Я также думал о создании сценария If / Else, в котором я буду вычислять дату на основе того, что было задано в форме. Так что если бы пользователь сказал повторять это каждые 15 дней, у меня было бы что-то вроде:
add_filter ('gform_replace_merge_tags', 'new_date_plus_30', 10, 7);
функция new_date_plus_30 ($ text, $ form, $ entry, $ url_encode, $ esc_html, $ nl2br, $ format) {
if ( $form_id == 34 && $field_id == 2 && $value == 'add 30 days') {
$merge_tag = '{date_plus_30}';
$new_date = date('m/d/Y', strtotime('+30 days'));
}
else if ( $form_id == 34 && $field_id == 2 && $value == 'first of month') {
$merge_tag = '{first_of_month}';
$new_date = date('m/d/Y', strtotime('first of next month'));
}
}
return str_replace( $merge_tag, $new_date, $text );
}
Но моя проблема все та же. Как я могу использовать два фильтра одновременно? Я предполагаю, что мне нужно использовать gform_get_input_value. Пожалуйста, просмотрите мой код и оставьте отзыв. Есть ли другой способ?