web-dev-qa-db-fra.com

wp_mail n'est pas défini

Je suis en train d'écrire un plugin qui ouvre un formulaire pour inviter des personnes à un site Web par courrier électronique et qui souhaite utiliser wp_mail().

Chaque fois que j'utilise la fonction wp_mail() dans un fichier de mon dossier de plug-in, je me retrouve toujours avec:

Erreur irrécupérable PHP: appel de la fonction non définie wp_mail ()

Le segment de code en question est:

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

Je ne sais pas trop pourquoi cela devrait se produire alors que tant de plugins utilisent wp_mail().

Merci d'avance.

4
navanitachora

Vous pouvez appeler la fonction trop tôt. Vous devez attendre que l'action 'plugins_loaded' soit déclenchée.

wp_mail() est défini dans wp-includes/pluggable.php.
pluggable.php est chargé dans wp-settings.php après les plugins sont chargés mais before 'plugins_loaded' est appelé.

Voir cette réponse pour un exemple.

10
fuxia