it-swarm.com.de

wp_mail ist undefiniert

Ich schreibe ein Plugin, das ein Formular öffnet, um Leute per E-Mail auf eine Website einzuladen, und wp_mail() verwenden möchte.

Immer wenn ich die Funktion wp_mail() in einer Datei in meinem Plugin-Ordner verwende, erhalte ich:

PHP Fataler Fehler: Aufruf der undefinierten Funktion wp_mail ()

Das fragliche Codesegment ist:

function send_email() {
    $subject = 'test';
    $message = 'this is a test from send invitation';
    $to = '[email protected]';
    wp_mail($to, $subject, $message);
}

Ich bin mir nicht sicher, warum dies passieren sollte, wenn so viele Plugins wp_mail() verwenden.

Danke im Voraus.

4
navanitachora

Sie können die Funktion zu früh aufrufen. Sie müssen warten, bis die Aktion 'plugins_loaded' ausgelöst wird.

wp_mail() ist in wp-includes/pluggable.php definiert.
pluggable.php wird in wp-settings.php geladen after die Plugins werden geladen, aber before 'plugins_loaded' wird aufgerufen.

Siehe diese Antwort für ein Beispiel.

10
fuxia