webentwicklung-frage-antwort-db.com.de

wp_mail erkennt keine cc- und bcc-Header

Ich benutze WordPress 3.1.3

Ich bekomme folgende Hinweise, wenn ich wp_mail mit cc- und bcc-Headern verwende.

Notice: Undefined variable: cc in /var/www/mysite.info/htdocs/wordpress/wp-includes/pluggable.php on line 349 
Notice: Undefined variable: bcc in /var/www/mysite.info/htdocs/wordpress/wp-includes/pluggable.php on line 352 

So setze ich E-Mail-Header

$email_headers  = "From: ".$from_field_value.PHP_EOL;
$email_headers .= "Reply-To: ".$from_field_value.PHP_EOL;
$email_headers .= "CC: [email protected]".PHP_EOL;
$email_headers .= "BCC: [email protected]".PHP_EOL;

if (wp_mail($email_to, $email_subject, $email_body, $email_headers)) {
      // Other process
}
1
I-M-JM

Wenn Sie sich die Zeile ansehen, wird der Hinweis ausgegeben:

$cc = array_merge( (array) $cc, explode( ',', $content ) );

und

$bcc = array_merge( (array) $bcc, explode( ',', $content ) );

Es wird versucht, ein leeres Array zusammenzuführen, das nicht mit einem Array festgelegt wurde, das von Ihren Headern erstellt wurde.

Der Hinweis kann ignoriert werden. Immerhin ist es nur eine Notiz.

Da diese Funktion steckbar ist, können Sie die Funktion kopieren und in eine Plugin-Datei einfügen und den Code korrigieren. Auf diese Weise bearbeiten Sie keine Kerndateien. Siehe steckbare Funktionen:

http://codex.wordpress.org/Pluggable_Functions

Ich würde den Code wie folgt ändern:

case 'cc':
    if (!isset($cc))
        $cc = array();
    $cc = array_merge( $cc, explode( ',', $content ) );
break;
case 'bcc':
    if (!isset($bcc))
        $bcc = array();
    $bcc = array_merge( $bcc, explode( ',', $content ) );
break;

Vielleicht sollte dies dem WordPress Core Dev Team gemeldet werden?

AKTUALISIEREN:

Oben wird in WP3.2 behoben http://core.trac.wordpress.org/changeset/18006

1
Brady