WordPressの記事の投稿時にメールでお知らせする方法

よくある質問
お世話になります。
先日、御社のマッチングサイトを購入させていただきました。

ユーザーが、売却情報を投稿した時にサイトの管理人に
メールでお知らせする機能は無いでしょうか?

お手数ですが、あれば教えて下さい。
宜しくお願い致します。

回答です

新しい投稿時に指定のメールアドレスにお知らせする方法

プラグインを使って行う方法もありますが、プラグインを沢山入れると重くなったり
他のプラグインと喧嘩してサイトに不具合が起こる場合があるので
今回はプラグイン無しで
新しい記事の投稿時に指定のメールアドレスにお知らせする方法をお伝え致します。

新しい記事の投稿時に指定のメールアドレスにお知らせする設定方法

以下のソースコードを「WP管理画面」>「外観」>「テーマファイルエディター」>「テーマのための関数 (functions.php)」にコピーして貼り付け、更新します。

//記事更新通知メール
add_action('transition_post_status', function($new_status, $old_status, $post) {
 // 新規投稿時且つ、投稿タイプがpostの場合(カスタム投稿でない通常投稿の場合、投稿タイプはpost)
 if ($new_status == 'publish' && $old_status != 'publish' && $post->post_type == 'post') {
 
// 送信先のメールアドレス(複数の場合は,を入れて区切る。例:info@example.com,office@com,example.com)
 $to = 'info@example.com';
 
 // 件名
 $subject = '新しい記事が公開されました';
 
 // 本文
 $message = $post->post_title . "\n";
 $message .= get_permalink($post->ID);
 
 // FromやReply-Toを記述。WordPressの一般設定で設定しているメールアドレスをFromにする場合は空配列。
 $headers = [];
 
 // 添付ファイルがあればファイルパスを記述
 $attachments = [];
 
 wp_mail($to, $subject, $message, $headers, $attachments);
 }
}, 10, 3);

基本的な設定方法

基本的には「// 送信先のメールアドレス」の下の「info@example.com」を送信したいメールアドレスに書き換えるだけでOKです。
 

複数のメールアドレスにお知らせする場合

複数のメールアドレスにお知らせする場合は,を入れて区切ります。
例:$to = ‘info@example.com,office@example.com’;
 
これで、新しい記事の投稿時に指定のメールアドレスにお知らせする事が出来ます。

WORDPRESSリスト収集+メール一斉配信ツール

WordPressリスト収集+メール一斉配信ツール
WordPressでリストを収集してメール一斉配信が出来る WordPressで様々なリストを集めて、集めた見込み客にメールを一斉配信するには出来そうで、なかなか上手くいきません。 プラグインを探してもメールアドレスのみを集めるメルマガ配信のプラグインはあるけれど、様々なリストを集める事は出来ないものばかりなので、自作しました。 自作するきっかけは、私が使っている、とあるサイトでリスト収集を行い、集めた見込み客にメールを一斉配信する時に...