提问人:Dilion Smith 提问时间:11/8/2023 更新时间:11/8/2023 访问量:52
提交联系表单 7 时结转 ACF 字段
Carry over ACF field when Contact Form 7 is submitted
问:
只是一个简短的解释;目前,我有一个网站,员工可以在其中登录并能够提交表格以请求服务。每个员工都有一个唯一的 ID 字段,该字段是使用 ACF 字段创建的。我希望发生的事情是,当他们提交请求服务的表格时,这个唯一 ID 会作为隐藏字段传递,并显示在联系表格 7 的提交结果上。这将极大地帮助我们公司提高生产力并减少时间浪费。
目前,我已经尝试了几种不同的选择,但没有任何效果,很好奇是否有人处理过类似的问题。
谢谢 迪里昂·史密斯
答:
1赞
katsucurry
11/8/2023
#1
其他人可能会想出一个更优雅或更好的解决方案,但一种可能的方法是在 js 中将当前员工 ID 回显到页面上,然后用它替换 cf7 隐藏表单值。
假设你的隐藏字段是这样的。
[hidden employee_id default:"0"]
在函数 .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);
}
评论