我构建了一个小函数来发送联系表单结果和错误报告。
我要求用户输入姓名和电子邮件,我想使用该电子邮件地址显示在我收到的邮件中。
我正在使用wp_mail过滤器:
add_filter( 'wp_mail_from', 'my_mail_from', $gotten_mail );
function my_mail_from( $email )
{
return $email;
}
它不起作用。
我想也许改变smtp地址而不是使用这个过滤器。 寻找方法。
你能帮帮我吗?
提前致谢。
答案 0 :(得分:2)
意识到这已经超过一个月了,但是这里......
您无法以这种方式将自定义参数添加到add_filter
来电。相反,您需要在回调函数中获取输入的电子邮件,如下所示:
add_filter( 'wp_mail_from', 'custom_slug_mail_from' );
/**
* Function to change mail_from to input entered via form.
*/
function custom_slug_mail_from( $email ) {
/**
* Use the user-submitted email if present.
*/
if ( isset( $_REQUEST[ 'email_from_form' ] ) )
return sanitize_email( $_REQUEST[ 'email_from_form' ] );
return $email; // if no email submitted, use default.
}
尚未对此进行测试,但我认为它应该可行。请务必根据WordPress Theme Guidelines将'custom_slug'更改为主题或插件文件夹的名称,并将'email_from_form'更改为表单中输入字段的名称。
P.S。您将在wordpress.stackexchange.com
更快地获得与WordPress相关的答案