サポート » 使い方全般 » 寄稿者に記事承認完了メール、投稿されたことをメール通知したい

  • 解決済 saikichi

    (@saikichi)


    お世話になります。
    こちらで初めて質問させていただきます。

    管理者と寄稿者数人でサイトを運営しており、現状ではWP Status Notifierというプラグインを使い、「寄稿者がレビュー待ち記事をアップ→管理者にメール」のフローは実現しています。

    できれば
    「管理者がレビュー承認→記事を作成した寄稿者にメール」
    「管理者が記事を公開→再度記事を作成した寄稿者にメール」

    としたいのですが、それらしきプラグインや書き込みが見当たりません。

    上記のフローを実現できるプラグインまたはカスタマイズ方法をご教示いただけませんでしょうか?

    アドバイス・ご指導頂けましたら幸いでございます。
    何卒宜しくお願い申し上げます。

7件の返信を表示中 - 1 - 7件目 (全7件中)
  • 投稿のステータスが変化するときに呼び出されるアクションがあるので、メール送信の関数を作ってフックできると思います。
    日本語Codex > 投稿ステータスの遷移

    トピック投稿者 saikichi

    (@saikichi)

    >gblsm様

    ご教示いただき誠にありがとうございます。

    教えていただきました日本語codexと、いろいろなサイトを参考にfanction.phpに記述してみたのですが、どうしてもエラーが出てしまいます。

    function reviewok_mail( $post_ID ) {
        $status = get_post_status( $post_ID );
        if( $status == 'publish' ) {
            $to = '<?php $user_email = get_the_author_meta('user_email'); ?>';
            if (mail($to , "ただいま", $the_title , "が公開されました")) {
            }
        }
    }
    add_action('edit_post', 'reviewok_mail');

    phpに関する知識が乏しいため、見よう見まねでやってみたのですが、どうしてもエラーが出てしまいます。

    reviewokは自分で決めたコードです。
    おそらく「$to =〜」以降から間違っているのでは?と睨んでいます。

    誠に恐縮ではございますが、どこが間違っているのかご指摘いただけますしょうか?
    何卒宜しくお願い申し上げます。

    おそらく「$to =〜」以降から間違っているのでは?と睨んでいます。

    fanctions.phpに記述したということはすでに<?php ?>の中なので、さらに<?php ?>で囲むのがまずおかしいですね。

    また、mail()関数を自力でやると文字化けしやすいので、wp_mail()関数を使いましょう。
    関数リファレンス/wp mail – WordPress Codex 日本語版

    ※取り敢えずメール部分への指摘だけで、フックの使い方が正しいかまでは見てません。

    どんなエラーが表示されるか教えてください。

    それから、edit_post アクションを選んだ理由も教えてください。Codexの「投稿ステータスの遷移」に書かれていたアクションを使えばよいと思ったので。

    おそらく「$to =〜」以降から間違っているのでは?と睨んでいます。

    1. $to = … というコード自体、すでにphpのコードなので、'<?php … ?>’ のように書くとエラーになります。
    2. get_the_author_meta 関数にパラメータを一つだけ指定する書き方は、今回のような「投稿のステータスを変更する時に呼び出されるアクション」の中では、その投稿の作成者を取得することはできません。
    3. mail 関数のパラメーターがおかしいと思います。

    saikichi さんが今やりたいことは応用編なので、見よう見まねだけでは難しいと思いますよ。get_the_author_meta や mail 関数には説明ページがあるので、それを手始めに、使い方を調べましょう。
    関数リファレンス/get_the_author_meta
    関数リファレンス/wp_mail

    トピック投稿者 saikichi

    (@saikichi)

    gblsm様、Ayustar様

    ご教示いただき誠にありがとうございます。

    色々と調べながら試していたところ、
    奇跡的に「Post Status Notifier Lite」というプラグインを発見いたしました。

    こちらのプラグインでしたら、関数のわからない私でも操作できそうですし、
    念願だった「寄稿者に記事承認完了メール」と「投稿されたことをメール通知」を実装できそうです。

    しかしながら、これで満足せずに、
    gblsm様、Ayustar様にご教示いただきました事をきっかけに、
    今後色々なカスタマイズを自作してみようと思います。

    この度は私の様なチンプンカンプンな初心者に、
    優しく教えていただきまことにありがとうございました。

    今後とも何卒よろしくお願いいたします。
    ありがとうございました。

    saikichiさん、プラグインが見つかってよかったです。便利そうなので覚えておこうと思います。

7件の返信を表示中 - 1 - 7件目 (全7件中)
  • トピック「寄稿者に記事承認完了メール、投稿されたことをメール通知したい」には新たに返信することはできません。