הנה סניפט קצר שמאפשר לשלוח אימייל כאשר אתם מפרסמים פוסט חדש בבלוג שלכם. קוד זה יכול לעבוד גם עבור סוגי תוכן מותאמים (Custom Post Types).
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.co.il/your-post/
אם אתם רוצים לאפשר זאת עבור סוג תוכן מותאם כלשהו, תוכלו להוסיף תנאי בתוך הפונקציה כבדוגמה הבאה:
...
if(get_post_type($post->ID) === 'page') //post, page, attachment or whatever other CPT you may have
{
//use wp_mail() here!
}
...
היי,
ניסיתי את מה שכתבת ומשום מה הייתי מקבל מיילים גם כשעדכנתי פוסטים.
כרגע משתמש בסניפט שמצאתי בסטאקאוברפלואו שעובד יפה :
תענוג, תודה אלון על השיתוף…. 🙂
איך אפשר לעשות את זה לאנשים שנרשמים לאתר ולא למנהלים או מייל קבוע?
(רק אחרי שכתבתי בפוסט אחר שלך, הצלחתי למצוא את הפוסט הזה)
היי,
לצערי התשובה רחבה יותר ואיני יכול לספק זו בתגובות אלו… בהצלחה 🙂
תודה, אתה מכיר אולי הסבר בשביל זה?