שלח מייל אם נוצרה טיוטה חדשה

חיפוש באתר
לשאלות ותשובות ברוכים הבאים לאתר wpHeb. אתר תמיכה ומדריכים למערכת וורדפרס. באתר תוכלו למצוא מדריכים וטיפים טובים לשימוש במערכת וורדפרס וכמובן הורדות לפלאגינים ותבניות. עם זאת, קיימת באתר מערכת שאלות ותשובות להתייעצויות ותמיכה במערכת.
פוסטים מומלצים
קישורים מומלצים
שלח מייל אם נוצרה טיוטה חדשה
5 יולי, 2017

הכנתי אתר שבו גולשים יכולים לפרסם טיוטות – או יותר נכון פוסטים ממתינים לאישור. היה לי צורך לעשות שבכל שליחה אקבל הודעה כדי שאוכל לאשר את הפוסט, אבל לא רציתי להתקין תוסף מיותר, אז מצאתי את הקוד הבא והוא עושה את העבודה. הכניסו את הקוד לתוך הקובץ Function.php.

// send mail if new draft 
function dddn_process($id) {

    // emails anyone on or above this level
    $email_user_level = 10;

    global $wpdb;

    $tp = $wpdb->prefix;

    $result = $wpdb->get_row("
        SELECT post_status, post_title, user_login, user_nicename, display_name 
        FROM {$tp}posts, {$tp}users 
        WHERE {$tp}posts.post_author = {$tp}users.ID 
        AND {$tp}posts.ID = '$id'
    ");

    if (($result->post_status == "draft") || ($result->post_status == "pending")) {

        $message = "";
        $message .= "Draft updated on '" . get_bloginfo('name') . "'\n\n";
        $message .= "Title: " . $result->post_title . "\n\n";

            // *** Choose one of the following options to show the author's name

        $message .= "Author: " . $result->display_name . "\n\n";
        // $message .= "Author: " . $result->user_nicename . "\n\n";
        // $message .= "Author: " . $result->user_login . "\n\n";

        $message .= "Link: " . get_permalink($id);

        $subject = "Draft updated on '" . get_bloginfo('name') . "'";


        $editors = $wpdb->get_results("SELECT user_id FROM {$tp}usermeta WHERE {$tp}usermeta.meta_value >= " . $email_user_level);

        $recipient = "";    

        foreach ($editors as $editor) {         
            $user_info = get_userdata($editor->user_id);
            $recipient .= $user_info->user_email . ','; 
        } 

        mail($recipient, $subject, $message);


    }

}


add_action('save_post', 'dddn_process');

פשוט וקל.