您应该使用WordPress操作检查表单是否已提交(使用隐藏字段或提交按钮值),然后发送电子邮件。
您应该使用wp_mail
而不是mail
也https://developer.wordpress.org/reference/functions/wp_mail/
并建议使用WordPress环卫系统来保护您的网站安全,防止恶意利用您的代码:https://codex.wordpress.org/Data_Validation
添加隐藏字段以提交表单:
<input type="hidden" name="my_limited_info_form" />
要查看帖子,只需使用
wp
操作(表单操作可以为空,以使用同一页面),并检查提交表单中的隐藏字段(将其放置在子主题中
functions.php
文件或代码段插件):
add_action( \'wp\', \'smyles_send_email\' );
function smyles_send_email() {
// Only proceed if our form was submitted
if ( ! array_key_exists( \'my_limited_info_form\', $_POST ) ) {
return;
}
$orderemail = "[email protected]";
$name = sanitize_text_field( $_POST[\'name\'] );
$email = sanitize_email( $_POST[\'email\'] );
$address = sanitize_text_field( $_POST[\'address\'] );
// This was missing?? You provided very limited details so i can only assume this was a mistake
$subject = \'\';
$message = "
Hello!
Your contact form has been submitted by:
Name: $name
E-mail: $email
Address:
$address
End of message
";
wp_mail( $orderemail, $subject, $message );
}
或者你有机会
name
在提交按钮中设置的值,只需检查即可。
My recommendation though 将使用一个免费的插件,如Caldera表单,它允许您构建自定义表单并在后端为您处理所有这些。
https://wordpress.org/plugins/caldera-forms/
这是我的建议,提供的信息非常有限