wordpress 需要获取elementor表单的submission_id以添加邮件的引用和内容

zte4gxcn  于 2023-02-21  发布在  WordPress
关注(0)|答案(1)|浏览(272)

我使用elementor pro表单作为联系人表单。我想在邮件中添加submission_id。我想在引用标题和邮件正文中显示id。就像ticket-System一样。
EXP:来自xxx的新邮件- ID:4566334
我尝试使用下面的代码添加一个新的短代码,它返回submission_id,但它不起作用。是空的,没有值:

add_shortcode( 'submission_id', 'get_submission_id' );

function get_submission_id() {
  if ( ! isset( $_POST['form_id'] ) || ! isset( $_POST['_wpnonce'] ) ) {
    return '';
  }

  $form_id = intval( $_POST['form_id'] );
  $nonce_value = sanitize_text_field( $_POST['_wpnonce'] );

  if ( ! wp_verify_nonce( $nonce_value, 'elementor-pro-form-' . $form_id ) ) {
    return '';
  }

  $submission_data = ElementorPro\Modules\Forms\Classes\Form::get_instance( $form_id )->get_submission_data();
  if ( ! $submission_data || ! isset( $submission_data['_id'] ) ) {
    return '';
  }

  return $submission_data['_id'];
}

还有其他方法可以将elementor表单中的提交ID添加到邮件中吗?
我尝试了不同的插件,但我不想支付插件,只是为了得到身份证。
我也试着在FunctionIdephp中添加我自己的短代码,但是我没有给予回一个值。
更新:似乎这部分不起作用

if ( ! isset( $_POST['form_id'] ) || ! isset( $_POST['_wpnonce'] ) ) {
    return 'Error 01';
  }
6yt4nkrj

6yt4nkrj1#

我遇到了同样的问题。我用最简单的方法解决了它。我的唯一ID是日期和时间的代码。我在表单中添加了一个隐藏的文本字段。然后在高级选项卡中我选择了动态数据、页面、当前时间。您可以设置任何日期/时间格式沿着任何字符/单词...

相关问题