我正在使用Wordpress和框架Gantry 5,我通过JS添加了自定义html表单,作为添加到现有容器的内部HTML。
我希望将此表单值提交到 WordPress 管理设置中定义的电子邮件地址。有什么方法可以实现它吗?
表单操作,如果您的表单操作调用WordPress中的函数(例如在函数.php中(,您可以选择电子邮件地址
get_option('admin_email')
并使用它来发送帖子数据。
如果表单操作调用 wordpress 外部的函数,您可以将电子邮件添加为表单中的隐藏字段
<input type="hidden" id="email" name="email" value="<?php echo get_option('admin_email'); ?>">
并获取 $_POST 对象中的值。
因为你的表单是由javascript添加的,所以你可以在表单提交之前通过javascript添加隐藏字段,也许可以使用jquery(你也可以在vanilla js中执行此操作(。如果直接使用 php 内联打印脚本
$("#yourFormID").submit( function(eventObj) {
$("<input />").attr("type", "hidden")
.attr("name", "email")
.attr("value", "<?php echo get_option('admin_email'); ?>" )
.appendTo("#form");
return true;
});
如果你把脚本放在js文件中,你可以用php打印外面的隐藏字段,然后用jquery(或者香草(选择值。
<input type="hidden" id="email" name="email" value="<?php echo get_option('admin_email'); ?>">
$("#yourFormID").submit( function(eventObj) {
$("<input />").attr("type", "hidden")
.attr("name", "email")
.attr("value", $('#email').val() )
.appendTo("#form");
return true;
});