You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Contact Form 7获取自定义字段$referansno的取值

Contact Form 7 获取自定义字段值的实现方法

共有三种可选方案,你可以根据自己的需求选择:

方案一:使用CF7内置特殊标签(无需额外写PHP代码,最简便)

如果你要嵌入表单的页面就是对应自定义字段所属的文章/自定义文章类型详情页,直接在CF7的邮件模板里调用内置的自定义字段标签即可:

  • 管理员通知邮件/用户自动回复模板中直接添加:[_post_meta._propertyforsale_referansno]
    就可以直接输出该字段的取值,不需要额外添加功能代码。

注意:该方案仅适用于表单嵌入到对应自定义字段所属的单篇文章/自定义文章详情页的场景,如果表单是全局悬浮、或者放在其他非详情页使用,选择后面两种方案即可。

方案二:表单添加隐藏字段动态传值

如果你需要在表单提交前就把值存在字段里(比如要做前端判断、或者统计需要),可以按下面步骤操作:

  • 第一步:将以下代码添加到当前主题的functions.php文件,或者自定义功能插件的代码文件中:
// 注册获取参考编号的短代码
function custom_get_referansno() {
    global $post;
    return get_post_meta( $post->ID, '_propertyforsale_referansno', true );
}
add_shortcode( 'get_referansno', 'custom_get_referansno' );

// 允许CF7表单中解析短代码
add_filter( 'wpcf7_form_elements', 'do_shortcode' );
  • 第二步:在CF7表单编辑界面,添加隐藏字段调用上述短代码:
[hidden referansno default:get_referansno]
  • 第三步:在邮件模板中使用[referansno]标签即可调用该值。

方案三:提交时动态注入值(不需要修改表单结构)

如果你不想修改现有表单结构,可以直接通过钩子在表单提交时注入字段值:

  • 把以下代码添加到functions.php中:
add_action( 'wpcf7_before_send_mail', 'add_referansno_to_cf7_mail' );
function add_referansno_to_cf7_mail( $contact_form ) {
    $submission = WPCF7_Submission::get_instance();
    if ( ! $submission ) return;
    global $post;
    $referansno = get_post_meta( $post->ID, '_propertyforsale_referansno', true );
    // 把值添加到邮件可用标签中,直接在邮件模板用[referansno]调用即可
    $submission->add_posted_data( 'referansno', $referansno );
}

内容的提问来源于stack exchange,提问作者fahrettin alphan özel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 07:15:03