我正在使用Contact Form 7从产品页面提交表单,并且该网站包含许多产品。在每个产品页面上,可以给三个不同的人发送电子邮件;代理商,企业社会责任和制造商。总是列出制造商,代理商和CSR是有条件的;如果CSR存在,则显示联系人,否则显示座席联系人。联系信息是通过ACF在管理员中输入的。 ACF字段名称包含在post对象中,这就是美中不足的地方。
“收件人”字段需要接受动态数据。我已经尝试了两个插件; “ CF7-邮件中的Customfield”和“ CF7-动态文本扩展名”。 Customfield In Mail非常接近。它允许在“ To”字段中使用ACF字段名称并通过验证。问题在于字段名称包含在post对象中。所以我转到了动态文本扩展。这允许在WP Admin的CF7表单选项卡中添加php代码,因此我可以打开post对象,公开ACF字段,然后将其另存为隐藏字段。隐藏的字段另存为简码,可以在“收件人”字段中使用,但未通过验证。
$post_object = get_field('agent');
if( $post_object ) :
echo the_field('agent_email', $post_object->ID);
endif;
echo do_shortcode("[contact-form-7 id='1026' title='Contact Agent']");
理想情况下,在管理员中,“收件人”字段将包含一个命名字段“ agent_email”。插件“ Customfield In Email”确实非常接近,但是字段名称包含在post对象中。有没有一种方法可以显示该字段,使其可以在post对象之外访问?有更好的解决方案吗?