私はこの関数を作りました:
function email_subscribed_users($event)
{
$users = get_users('role=subscriber');
foreach ($users as $user) {
$accepted = get_user_meta($user->ID, 'accepted', true);
if ($accepted) {
wp_mail($recipients, $event->event_title, $event->event_desc, 'From: <[email protected]>');
}
}
}
しかし、それはユーザーが時間がたつにつれて増加することを知っている電子メールを送ることに多くの時間を必要とします。私は電子メールを効率的に送るのにどの機能を使うべきですか、またはこれをするニュースレタープラグインがありますか?
特定のuser_meta値を持つユーザーを直接照会できます。これにより、最初にすべてのユーザーをロードし、次にそれらのユーザーを反復処理し、その後meta_valueをロードするよりもパフォーマンスが向上します。
WP_User_Query クラスを見てください。
大量のメールについて話している場合は、本格的なニュースレタープラグインを使用することをお勧めします(自動的にメールをキューに入れ、それらを一度に送信しようとしないでください)。そして、あなたが本当にたくさんのメールを送っているのであれば(1つのニュースレターで+5.000のように)、私はあなたに外部のメールサービスプロバイダー(CakeMail、Mailchimp ...)を使うように勧めます。