$address = self::get_recipient_address($recipient); $subject = do_shortcode($post->post_title); $message = wptexturize(wpautop(do_shortcode($post->post_content))); if (wp_mail($address, $subject, $message)) { ++$success_count; } else { ++$failure_count; } } error_log("Message sent to {$success_count} users. {$failure_count} failed."); } public static function get_recipient_address($recipient) { if ($recipient instanceof WP_User) { return "\"{$recipient->display_name}\" <{$recipient->user_email}>"; } else { if (is_array($recipient)) { $name = wskl_get_from_assoc($recipient, 'name'); $addr = wskl_get_from_assoc($recipient, 'addr'); if ($name) { return "\"{$name}\" <{$addr}>"; } else { return $addr; } } } return $recipient; } } WSKL_Inactive_Accounts_Email::init();
public function process_deactivation(array &$to_disabled, $target_role) { $post_id = wskl_get_option('inactive-accounts_post_deactivation'); $shortcodes = WSKL()->submodules()->get_submodule('inactive-accounts')->shortcodes; $keys_to_preserve = array(wskl_get_option_name('inactive-accounts_alerted')); foreach ($to_disabled as $user) { wskl_deactivate_account($user, $this->cron_job_id, $keys_to_preserve, $target_role); } WSKL_Inactive_Accounts_Email::send_email($to_disabled, $post_id, $shortcodes); }