目前,我面临着覆盖wpcf7_before_send_mail
Hook 中mail_2
正文内容的问题。
我正在尝试重写 wpcf7 短代码,通过一些 html 修改来更正确地呈现内容。
问题是我无法覆盖邮件正文。在我重写正文并直接打印结果后,它似乎又恢复为默认正文。当我直接打印我的修改时,我会看到我想要的修改。
代码示例:
add_action("wpcf7_before_send_mail", "cf7_wpcf7_custom", 99, 1);
# Before sending email
function cf7_wpcf7_custom($properties, $contact_form_obj) {
$submission = WPCF7_Submission::get_instance();
$wpcf7 = WPCF7_ContactForm::get_current();
$wpcf7->mail_2['body'] = str_replace('[checkbox-1]', '..test..', $wpcf7->mail_2['body']);
// No changes appearing
var_dump($wpcf7->mail_2['body']);
exit;
}
最佳答案
wpcf7_before_send_mail
Hook 在设置附加邮件之前执行。所以它会被覆盖。
我们可以使用过滤器wpcf7_additional_mail
修改邮件正文。
例如:
add_filter('wpcf7_additional_mail', 'customize_mail_2', 10, 2);
function customize_mail_2($additional_mail, $contact_form) {
$submission = WPCF7_Submission::get_instance();
$wpcf7 = WPCF7_ContactForm::get_current();
$additional_mail['mail_2']['body'] = '..do your replacement stuff';
return $additional_mail;
}
关于php - WordPress 覆盖联系表单 mail_2 正文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28857693/