WordPressの投稿者のレビュー待ち記事の連絡メールを管理者に送る方法

公開日: : カスタマイズ

親にもブログを始めてもらおうとWordPressの投稿者を別のサイトに追加したりしたのですが、下書きを書いている最中は問題ないのですが、レビュー待ちにしてもらった際に、レビュー待ちになったのかデフォルトではわからない状態です。

今回の記事は投稿者が記述した記事をレビュー待ちにした段階で管理者にメールを送る方法を紹介します。

スポンサーリンク

既に用意されているプラグインWP Status Notifierなどを使用する

Wordpressの投稿者のレビュー待ち記事の連絡メールを管理者に送る方法
「レビュー待ちのときにメールを送る」などでgoogleなどで検索すれば見つかると思います。プラグインで済ましたい場合はそちらを利用してください。

・PR

レビュー待ちになった時のみメールを管理者へ送る

私はもう少し単純に投稿者がレビュー待ちボタンを押した際だけ管理者へメールを送る機能が欲しかったので
WP Status Notifierを参考にfunction.phpで対応してみました。


// WP Status Notifierを参考に
add_filter('transition_post_status', 'notify_status',10,3);
function notify_status($new_status, $old_status, $post) {
	global $current_user;
	$contributor = get_userdata($post->post_author);
	if ($old_status != 'pending' && $new_status == 'pending') {
		$emails=get_option('admin_email');	// 管理者のメールアドレス
		if(strlen($emails)) {
			$subject='['.get_option('blogname').'] "'.$post->post_title.'" pending review';
			$message="{$contributor->display_name}によって投稿された記事がレビュー待ちです\n\n";
			$message.="投稿者   : {$contributor->user_login} <{$contributor->user_email}> (IP: {$_SERVER['REMOTE_ADDR']})\n";
			$message.="投稿記事タイトル    : {$post->post_title}\n";
			$category = get_the_category($post->ID);
			if(isset($category[0]))
				$message.="Category : {$category[0]->name}\n";;
			$message.="以下の記事をレビューしてください: ".get_option('siteurl')."/wp-admin/post.php?action=edit&post={$post->ID}\n\n\n";
			wp_mail( $emails, $subject, $message);
			_debug_log("mail:".$emails.":".$subject.":".$message);
		}
	}
 }

変更点はほんの少しでpost_statusがpendingになった場合のみ以外の処理は削除して、Eメールを送る相手はget_option(‘admin_email’);と管理者のメールアドレスに変更しただけですが、これで私が必要とする機能は十分です。

SPONSORED LINK
PR

おすすめの商品を紹介しています。

30th ANNIVERSARY ドラゴンボール 超史集─SUPER HISTORY BOOK─ (愛蔵版コミックス)

英語で多読をするときは、文章だけでは前後からの予測でもわからない単語が多いですが、漫画などの絵がある

レビューを読む

ハッカーズTOEFLテストスピーキングHackers TOEFL Actual Test Speaking

最終的にはspeakingもwritingもテンプレートを使わない解答ができるといいのかもしれま

レビューを読む

新TOEICテスト 文法問題 でる1000問

久しぶりに解き直した新TOEICテスト文法問題でる1000問の結果が途中ながらひどすぎたので、音

レビューを読む



当ブログの人気エントリ一覧。おすすめです

 
PAGE TOP ↑