web-dev-qa-db-fra.com

Une question très basique - comment utiliser correctement wp_mail () dans un plugin

Cela fait un moment que j'essaye d'utiliser wp_mail pour envoyer un email depuis mon plugin. Le code que j'utilise est le suivant.

function add_page_content_Send_Feed(){
    echo "<h2>Send your feed via email</h2>";


    echo "<form id='post' action='' method='POST'>";
    echo "<input type='submit' name='send_feed' value='Send my feed' id='submit';'/>";
    echo "</form>";

    // Example using the array form of $headers
    // assumes $to, $subject, $message have already been defined earlier...

    $headers[] = 'From: UltraIT <[email protected]>';
    $headers[] = 'Cc: John Q Codex <[email protected]>';
    $headers[] = 'Cc: [email protected]'; // note you can just use a simple email address

    $to = '[email protected]';
    $subject = 'TESTING';
    $message = 'hello'; 

    if(isset($_POST['send_feed'])) {
        wp_mail( $to, $subject, $message, $headers);
    }

} 

Cela ne fonctionne cependant pas ... Quelqu'un peut-il me dire ce que je fais mal?

2
Blorange2

Votre code fonctionne bien lorsqu'il est placé dans un modèle de page. Par conséquent, ce qui ne va pas actuellement dans votre cas est très probablement d'utiliser le mauvais crochet au mauvais endroit.

Juste un exemple de la façon dont vous pouvez accrocher ceci:

add_action('ahook', 'add_page_content_Send_Feed'); //add this after your function definition

Ensuite, vous pouvez l'utiliser dans n'importe quelle page ou autre modèle du thème (ou autre plugin):

do_action('ahook');

"ahook" peut être un crochet que vous avez composé, mais vous pouvez le remplacer par un autre que vous souhaitez utiliser, selon votre cas.

Une autre chose que vous pouvez faire est de définir un shortcode et d’appliquer ce bouton n'importe où dans votre contenu.

1
vlood