Не редко администраторы хостинга во-избежание спам-рассылки со своих обожаемых серверов блокируют отправку e-mail с сайтов. Писать в службу поддержки, а иной раз и бумажные служебные записки, как у нас в универе, «в лом», но на наше счастье есть Яндекс и Гугл! Здесь всё можно сделать без спроса и формальностей и отправить письма через SMTP. Вот как это делается… Читать далее «Не грузи поддержку или 2 способа отправки писем через SMTP»
Довольно часто функционал интернет-ресурса требует рассылки пользователям ресурса уведомления о публикации новой статьи. Например, в часто мною используемых сайтах поддержки учебных курсов (что не курс, то сайт и так по 8-10 новых сайтов каждый год), где зарегистрированы все курсанты. Конечно, это можно сделать с помощью тяжеловесных плагинов-майлеров, но зачем? В файл function.php своей темы можно вставит небольшой код, который с успехом решает эту задачу.
Небольшими правками можно добиться более точного попадания в пользователя контента необходимой категории. И все это просто «ничего не весит» в сравнении с, например, Newsletter, e-mailing service или Newsletter Manager.
function email_registered_members($post_ID) {
//global $wpdb;
//$userslistarray = $wpdb->get_results("SELECT user_email FROM $wpdb->users;");
$wp_user_search = new WP_User_Query( array( 'fields' => array('user_email') ) );
$userslistarray = $wp_user_search->get_results();
$arrUsers = array ();
for ($arr = $userslistarray, $mU = count ($arr), $iU = 0; $iU < $mU; $iU++) {
$arrUsers[] = $arr[$iU]->user_email;
}
$users = implode(",", $arrUsers);
mail($users, "New Post Published : " . get_bloginfo('name') , "at" . get_bloginfo('siteurl'). " Visit today to learn more" );
return $post_ID;
}
add_action('publish_post', 'email_registered_members');