投稿時に複数のアドレスにお知らせメールを送信する。その3:【45日目】WordPress1日1プラグイン

ようこそのお運びで、厚く御礼申し上げます。
45日目です。今回は前回の条件分岐やメールアドレス管理画面で設定できるようにします。

※管理画面が必要ない場合などは、前回のコードを参照してください(機能は前回説明してます)。

メールアドレスやメール送信の設定を管理画面でおこない、記事を更新したときにお知らせメールを送信する。

記事を更新したり、新規に公開したら、指定した複数のメールアドレスにお知らせメールを送信します。今回はのメールアドレス、メールの件名、メール送信時のタイミングを管理画面で設定します。

今回は管理画面・設定>「投稿更新メール」メニューを作成します。
140306-0002
こんな感じで設定画面を作ってみます
140306-0004

大枠の流れは以下の通りです。

  1. 記事を更新するときをフックする
  2. 管理画面にメニューを作成する
  3. 管理画面のページをする
    ※管理画面のメニュー・ページの作成はこちらの記事等を参照してください。
    1. 管理画面にメニューを追加して、記事に文字列を追加してみる
    2. 管理画面にメニュー・サブメニューを追加して、記事に文字列を追加してみる
    3. 管理画面の「設定」メニュー内にサブメニューを追加する。
    4. 管理画面からカテゴリを選択して、記事に文字列に追加してみる
    5. 管理画面からタグを選択して、記事に文字列に追加してみる

  4. 管理画面で設定したものをもとにメールを送信する
    ※条件分岐、メール送信はこちらの記事を参照してください
    1. 投稿時に複数のアドレスにお知らせメールを送信する。その1
    2. 投稿時に複数のアドレスにお知らせメールを送信する。その2

今回は、あまり流れに関係のない趣味的なコードなので、説明は省略します。
※あと、このようなプラグインはたくさんあるので、初心者の方はコードを書かずに有名プラグインを探しましょう。

プラグインファイルです。

※以下のコードを、function.phpに書いても動作します。


ポイントはどこ?

細かい説明は省略します。でも・・・今回のクラス構成です。

/オブジェクトを生成
new Paka3PostPublishMail;

//クラス定義
//オブジェクトを生成
new Paka3PostMail;

//クラス定義
class Paka3PostMail{
        public function __construct(){
		//管理メニューアクション「admin_menu」フック
		//アクション「transition_post_status」フック
	}
	//###############################
	//管理メニューの設定
	//###############################
	public function adminAddMenu() {
		//管理メニューの設定:設定>「投稿更新メール」メニュー追加
	}

	//###############################
	//管理ページの表示と更新
	//###############################
	public function paka3_postMail_page() {
		//**管理画面「テキスト追加」ページに表示する内容
		//1.入力値があった場合処理
				//更新処理処理等

		//2.値の設定
		//各値の初期設定

		//3.表示する内容(HTML)
	}
	//###############################
	//メールアドレスの確認
	//###############################
	public function mailAddressCheck($mail_address){
		//正しいメールアドレスなら配列で返す。
		//メールアドレスの表記に間違いがあればfalseを返す
	}

	//###############################
	//メールの条件処理
	//###############################
	public function publish_state($new_status, $old_status, $post){
		//管理画面で設定した条件分岐に基づく処理
				//条件に合えばメールを送信する。
	}
	//###############################
	//公開時のメール送信
	//###############################
	public function paka3sendMail($opt,$post,$str){
		//メール本文を作成
		//メール送信
	}
}

条件分岐については前回の記事を参照してください。

※このファイルを[wp-content]>「plugins」ディレクトリに入れ、管理画面で有効にして完了です。

今回のまとめ

作るか作らないか悩みましたが、とりあえず作ってしまいました。
細かい条件分岐を書き足せば、削除したとき等もメールが送信できると思います。
ご自由にどうぞ。

wordpress1日1プラグイン

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です