提交联系表 7 时继承 ACF 字段

问题描述 投票:0回答:1

只是简单说明;目前,我有一个网站,员工可以登录并提交表格来请求服务。每个员工都有一个使用 ACF 字段创建的唯一 ID 字段。我希望发生的是,当他们提交请求服务的表单时,这个唯一的 ID 作为隐藏字段传递,并显示在联系表单 7 的提交结果中。这将极大地帮助我们公司提高工作效率并减少浪费的时间.

目前我已经尝试了几种不同的选项,但没有任何效果,很好奇是否有人处理过类似的问题。

谢谢你, 迪利昂·史密斯

php wordpress advanced-custom-fields contact-form-7 wordpress-shortcode
1个回答
0
投票

其他人可能会提出更优雅或更好的解决方案,但一种可能的方法是将当前员工 ID 在 js 中回显到页面上,然后用它替换 cf7 隐藏表单值。

假设你的隐藏字段是这样的。

[hidden employee_id default:"0"]

在你的functions.php文件中,你可以创建实际存储员工ID的变量并将其放在页面上。

function echo_cf7_employee_id() {
    $post = get_post();
    if (has_shortcode( $post->post_content, 'contact-form-7')) {
        echo '<script type="text/javascript">let cf7_employee_id = '.get_field('employee_id', 'user_'. get_current_user_id()).';</script>';
    }
}
add_action('wp_footer', 'echo_cf7_employee_id');

在其中一个 js 文件中,您可以添加以下内容来检查当前页面上是否存在该字段,然后使用您的员工 ID 更新其值。

if($('input[name="employee_id"]').length) {
    $('input[name="employee_id"]').val(cf7_employee_id);
}
© www.soinside.com 2019 - 2024. All rights reserved.