single 「レビュー待ち」の記事が投稿・更新された際にメール通知させる方法【wordpress】 | Heastea's Blog , loves Music & Movies

 

【functions.phpへの記述です】

 

function send_mail( $post_ID ) {
	$status = get_post_status( $post_ID );
	if( $status == 'pending' ) {
		$to = 'example111@example.jp, example222@example.jp';
		if (mail($to , "TEST MAIL", "This is a test message.", "From: wordpress test")) {
		}
	}
}
add_action('edit_post', 'send_mail');

 

 

参考サイト

WordPress 徹底解析(アクションフックのプラグインをつくる編)

プラグイン API/アクションフック一覧

 

 

解説

今回自分がやりたかったことが、

寄稿者が、記事を作成しレビュー待ちにしたり、作成したレビュー待ちのものを再度修正・更新した場合に、

管理者にメール通知させたいというものでした。

 

なので、前の記事の状態がなんであれ、更新・編集された記事の状態が「レビュー待ち」の状態であれば、

指定したアドレスにメールを送るようにすればよかったのでこういうかたちにしました。

 

>> ” send_mail ” は自分が適当に付けた関数名です。

 

 

ss4

>>” edit_post ” は プラグイン API/アクションフック一覧 に記述がありますが、

「投稿またはページが更新・編集された際に実行する」アクションフックというやつです。

 

 

WordPress 徹底解析(アクションフックのプラグインをつくる編) で記述されてるように、

” add_action() ” の1個目に指定したアクションフックに該当するアクションが実行されたときに、

2個目に指定した関数(今回でいうと” send_mail “)が呼び出されるということですね。

 

そしてその関数の中に入っていくと、

 

>>” get_post_status “ で更新・編集された記事の公開設定・状態を取得しています。

各状態での返り値はこちら。

・下書き・・・draft

・レビュー待ち・・・pending

・非公開・・・private

・公開・・・publish

 

$status に取得した状態が入るので、

それが「pending」であればメール送信処理をしてくださいなという内容です。

 

>>メールの送信先を今回は複数にしたかったので、一旦変数に代入してみました。

配列にするのかと思ったら、ただカンマで区切ればいいだけでした。

 

 

 

「レビュー待ち」の記事が投稿・更新された際にメール通知させる方法【wordpress】
Tagged on:                         

コメントを残す

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

Real time web analytics, Wordpress visitor counter, Wordpress visitor tracking
100%Japan Japan

Total: 86