我正在尝试修补在Google App Engine上运行的WP Plugin Contact Form 7的问题。
补丁代码是:
<?php
/*
Plugin Name: Fix Contact Form 7
*/
add_filter('wp_mail', 'fix_wp_mail_filter', 11);
function fix_wp_mail_filter($args) {
unset($args['headers']['X-WPCF7-Content-Type']);
$new_wp_mail = array(
'to' => $args['to'],
'subject' => $args['subject'],
'message' => $args['message'],
'headers' => $args['headers'],
'attachments' => $args['attachments'],
);
return $new_wp_mail;
}
现在,当我测试联系表单时,我在浏览器中出现500错误并检查App Engine请求日志,显示此错误:
PHP致命错误:
无法在第8行的/base/data/home/apps/s~aura-www/20170807t210800.403218500896707567/wordpress/wp-content/plugins/cf7_fix_plugin.php中取消设置字符串偏移
PHP代码有问题吗?
答案 0 :(得分:3)
这是因为$args['headers']
是一个字符串,而不是数组,因此行unset($args['headers']['X-WPCF7-Content-Type']);
会引发此错误。如果要更改它,请使用字符串操作函数,如str_replace
。