Рассылка подписчикам уведомления о новой публикации

Довольно часто функционал интернет-ресурса требует рассылки пользователям ресурса уведомления о публикации новой статьи. Например, в часто мною используемых сайтах поддержки учебных курсов (что не курс, то сайт и так по 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');