「WP User Frontend編」投稿が更新されたときにメール通知を送信する方法
WP User Frontendでは新規に投稿されたときに通知させるメール設定が既にありますが、更新された際の通知はPRO版しか使用できません。
できれば無料版で投稿更新の通知ができるようにしたい。
そんな方のために投稿更新通知できるようにするコードを作成しました。
function custom_wpuuf_post_update_notification($post_id){
$post = get_post($post_id);
$to = 'info@example.com' //自分のメールアドレスを入れます;
$subject = '件名が入ります' //任意の件名;
$nickname = get_user_meta(get_post_field('post_author', $post_id), 'nickname', true) //ここでは投稿者のニックネーム;
$content = get_the_title($post_id);
$author_id = get_post_field('post_author', $post_id);
$siteurl = esc_url(home_url('/'));
$data_id = $post_id;
$editlink = $siteurl.'wp-admin/post.php?post='.$data_id.'&action=edit';
$message =<<<EOS
以下のユーザーが投稿を更新しました。
問題がなければ公開状態を確認し、「更新」ボタンを押してください。
▼▼更新記事▼▼
----------------------------------------
ニックネーム:{$nickname}
タイトル:{$content}
■内容の確認
→{$editlink}
----------------------------------------
EOS;
wp_mail($to, $subject, $message);
}
add_action('wpuf_edit_post_after_update', 'custom_wpuuf_post_update_notification');
という感じになります。
では、解説していきましょう。
function custom_wpuuf_post_update_notification($post_id){
$post = get_post($post_id);
}
まずは「custom_wpuuf_post_update_notification」という関数で定義して、引数として投稿ID ($post_id) を受け取るような感じで作成。
これでどの投稿が更新されたかを特定できます。
この「get_post関数」を使って、指定された投稿IDから投稿オブジェクトを取得します。
$to = 'info@example.com';
$subject = '件名が入ります';
メールの送信先アドレス ($to) と件名 ($subject) を設定します。
$nickname = get_user_meta(get_post_field('post_author', $post_id), 'nickname', true);
ここでは差出人名として、ユーザー情報のニックネームを取得して表示する形で設定します。
取得した投稿者IDをから 'nickname' フィールドの値を取得し、投稿者のニックネームします。
$content = get_the_title($post_id);
$siteurl = esc_url(home_url('/'));
$editlink = $siteurl.'wp-admin/post.php?post='.$post_id.'&action=edit';
サイトのURLと組み合わせて投稿の編集リンクを生成します。
$message =<<<EOS
以下のユーザーが投稿を更新しました。
問題がなければ公開状態を確認し、「更新」ボタンを押してください。
▼▼更新記事▼▼
----------------------------------------
ニックネーム:{$nickname}
タイトル:{$content}
■内容の確認
→{$editlink}
----------------------------------------
EOS;
ここでは、ニックネーム、投稿タイトル、編集リンクが含まれた内容でメールメッセージの本文を作成。
wp_mail($to, $subject, $message);
指定されたメールアドレスにメールを送信。
これで投稿が更新された後に実行されるようになります。
ぜひ参考にしてみてください。
この記事が気に入ったらサポートをしてみませんか?