ابتدا افزونه Post Notification by Email را نصب می کنیم

بعد از فعال کردن پلاگین از قسمت تنظیمات آن می توانیم به دو روش عمل کنیم 

در قسمت Sent to 

لیست ایمیل ها را یکی یکی وارد کرده و با ویرگول جدا کنیم 

یا از قسمت Send to users

گروههای مورد نظرمان برای دریافت اطلاع رسانی از طریق ایمیل را وارد کنیم

حالا می توانیم عنوان و بدنه ایمیل را سفارشی کنیم

در قسمت Email subject for new posts, pages and post types 

عنوان ایمیل را تنظیم می کنیم 

{title} نمایش عنوان مطلب

{link_post} لینک یا url مطلب

{content_post} محتوای نوشته یا مطلب

{date} تاریخ انتشار مطلب

در قسمت Email body for new posts, pages and post types 

بدنه ایمیل را سفارشی می کنیم

می توانیم برای ارسال ایمیل ها شرط تعیین کنیم مثلا کاربران برای انتشار برگه یا صفحه جدید ایمیل دریافت نکنند

یا برای دسته یا برچسب خاص ایمیل ارسال شود.

با استفاده از این افزونه به محض انتشار پست جدید ایمیل ارسال می شود.

بدون استفاده از افزونه باید کد زیر را به انتهای فایل functions.php اضافه کنیم:

add_action('future_to_publish', 'send_emails_on_new_event');
add_action('new_to_publish', 'send_emails_on_new_event');
add_action('draft_to_publish' ,'send_emails_on_new_event');
add_action('auto-draft_to_publish' ,'send_emails_on_new_event');
 
 
/**
 * Send emails on event publication
 *
 * @param WP_Post $post
 */
function send_emails_on_new_event($post)
{
    $emails = "email_1@mail.com, email_2@mail.com"; //If you want to send to site administrator, use $emails = get_option('admin_email');
    $title = wp_strip_all_tags(get_the_title($post->ID));
    $url = get_permalink($post->ID);
    $message = "Link to post: \n{$url}";
 
    wp_mail($emails, "New post published: {$title}", $message);

ظاهر ایمیل به شکل زیر خواهد بود:

[Title] New post published: Your Post
 
Link to post:
http://site.com/your-post/

برای شرطی کردن ایمیل ارسال می توانیم از کد زیر استفاده کنیم:
...
if(get_post_type($post->ID) === 'page') //post, page, attachment or whatever other CPT you may have
{
    //use wp_mail() here!
}
...

اگر می خواهید ایمیل فقط برای ادمین یا مدیر سایت ارسال شود متغییر $emails را بصورت زیر مقدار دهی کنید:
$emails = get_option('admin_email');
}