web-dev-qa-db-ja.com

非常に基本的な質問 - プラグインの中でwp_mail()を正しく使う方法

私はしばらくの間私のプラグインの中からEメールを送るのにwp_mailを使うことを試みています。私が使っているコードは以下の通りです。

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);
    }

} 

しかし、これはうまくいきません...誰かが私が間違っていることを私に言うことができますか?

2
Blorange2

あなたのコードはページテンプレートに置かれたときうまくいくので、あなたのケースで現在間違っているのはおそらく間違った場所で間違ったフックを使用していることでしょう。

これをフックする方法のほんの一例です。

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

その後、これをテーマの任意のページまたは他のテンプレート(または他のプラグイン)で使用できます。

do_action('ahook');

'ahook'はあなたが作ったフックにすることができますが、あなたはあなたの特定のケースに応じて使いたい特定のものに置き換えることができます。

もう1つできることは、ショートコードを定義してこのボタンをコンテンツ内の任意の場所に適用することです。

1
vlood