У меня возникли проблемы с получением идентификатора записи Gravity Forms после отправки запроса в функцию gform_pre_send_email.
В журнале GF отображается идентификатор записи:
DEBUG --> GFFormsModel::save_entry(): Saving entry.
DEBUG --> GFFormsModel::save_entry(): **Entry record created in the database. ID: 95.**
DEBUG --> GFFormsModel::save_entry(): Saving entry fields.
После установки $ entry как глобальной внутри функции, rgar ($ entry, 'id') возвращает пустое значение, как и var_dump ($ entry). То же самое и с массивом $ form. Массив $ _POST еще не содержит ID записи.
Также API возвращает пустое значение: GFAPI :: get_entry ($ entry_id).
$ wpdb-> insert_id предоставляет номер, но это неправильный идентификатор записи.
Перепробовал много вариантов, прочитал много постов, доделал гугл. Это кажется таким простым квестом, но я не понимаю, как с этим справиться.
Используемый код:
add_filter( 'gform_pre_send_email', 'before_email' );
function before_email( $email ) {
global $entry;
$entryid = rgar( $entry, 'id' );
//DEBUGGING
echo '<br><br>POST:<br>';
var_dump( $_POST );
echo '<br><br>Entry:<br>';
var_dump( $entry );
echo '<br><br>';
$pattern = "PAYMENTLINK";
$replacement = "<a href='https://******.***/checkout/?add-to-cart=44&entryid=$entryid' target='_blank'>https://******.***/pay</a>";
$email['message'] = str_replace($pattern, $replacement, $email['message']);
return $email;
}
Как мне получить входной идентификатор только что отправленной формы? Спасибо
$entry
как глобальный, он уже передан в функцию. Можем ли мы увидеть ваш код? - person johnnyd23   schedule 24.09.2018