所以我在我的wordpress自定义主题中有一个函数,我正在使用我的所有形式。这个函数在我的wordpress functions.php中,看起来像:
function mail_utf8($to, $subject = '(No subject)', $message = '', $from , $header = '') {
$header_ = "From: $from" . "\r\n" . 'MIME-Version: 1.0' . "\r\n" . 'Content-type: text/plain; charset=UTF-8' . "\r\n";
mail($to, '=?UTF-8?B?'.base64_encode($subject).'?=', $message, $header_ . $header);
}
所以问题是 - 当刷新页面上的某些功能时,此功能是否一直在执行?或者只有在我调用它时才执行该功能?
因为,我从宿主按摩中得到的结果是,我每小时都超过邮件限制。当我删除此功能并在每种形式中进行硬编码时,一切都很好。
我试过了:
if( !empty( $message ) ) {
function mail_utf8($to, $subject = '(No subject)', $message = '', $from , $header = '') {
$header_ = "From: $from" . "\r\n" . 'MIME-Version: 1.0' . "\r\n" . 'Content-type: text/plain; charset=UTF-8' . "\r\n";
mail($to, '=?UTF-8?B?'.base64_encode($subject).'?=', $message, $header_ . $header);
}
}
但它没有用
答案 0 :(得分:1)
如果您没有操作码缓存,则每次有人加载页面时,此代码都将被解析(加载/包含包含此代码的文件)。
但是当有人打电话时,它只会被执行。
注意:没有必要在$from
之前指定默认参数,因为该字段是必填字段。
答案 1 :(得分:0)
只有在调用它时才会执行函数。调用函数看起来像some_fnc(arg1, arg2)
。
您向我们展示的是功能声明。要实际调用它,应该写mail_utf8('some@email.com')
。在代码中查找,如果需要,请使用\\
符号注释掉。
你实际上做了什么现在可能会导致致命错误:当某些事情试图调用mail_utf8()
而没有$message
时,将不会声明设置函数,并且脚本将退出并显示错误:
PHP Fatal error: Call to undefined function mail_utf8()