只是简单说明;目前,我有一个网站,员工可以登录并提交表格来请求服务。每个员工都有一个使用 ACF 字段创建的唯一 ID 字段。我希望发生的是,当他们提交请求服务的表单时,这个唯一的 ID 作为隐藏字段传递,并显示在联系表单 7 的提交结果中。这将极大地帮助我们公司提高工作效率并减少浪费的时间.
目前我已经尝试了几种不同的选项,但没有任何效果,很好奇是否有人处理过类似的问题。
谢谢你, 迪利昂·史密斯
其他人可能会提出更优雅或更好的解决方案,但一种可能的方法是将当前员工 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);
}