WP_mail在函数UPDATED_POSTMETA内发送两次电子邮件

时间:2018-04-16 作者:Muhammad Ibrahim

我做了一个自定义功能,所以当Posteta更新到特定值时,我发送自定义电子邮件使用wp_mail().

电子邮件发送成功,但同时创建了两个。

这里是我的代码:

function email_notification_by_status()
{

// Global Variable

$post_id = get_The_ID();
$user = wp_get_current_user();
$user_id = get_current_user_id();
$blog_id = get_current_blog_id();
$dd_status = get_post_meta($post_id, \'screening_status\', true);
$dd_analyst = get_post_meta($post_id, \'select_analyst\', true);

//Completed

if (\'Completed\' == $dd_status)
    {

    $args = array(
        \'role\' => \'client\',
        \'blog_id\' => $blog_id
    );
    $client_infos = get_users($args);
    foreach($client_infos as $client_info)
        {
        $client_email = $client_info->user_email;
        $to = $client_email;
        $subject = \'Due diligence is Complete\';
        $body = \'Lorem ipsum\';
        wp_mail($to, $subject, $body);
        }
    }
}

add_filter(\'updated_postmeta\', \'email_notification_by_status\');
有人能告诉我我的代码出了什么问题吗?

1 个回复
SO网友:NikHiL Gadhiya

去除foreach 并直接添加此代码:

$client_infos = get_users($args);
if($client_infos)
{
    $client_email = $client_info[0]->user_email;
    $to = $client_email;
    $subject = \'Due diligence is Complete\';
    $body = \'Lorem ipsum\';
    wp_mail($to, $subject, $body);
}

结束

相关推荐

列出分类法:如果分类法没有POST,就不要列出分类法--取决于定制的POST-META?

这可能很难解释,我不知道是否有解决办法!?我有一个名为“wr\\u event”的自定义帖子类型和一个名为“event\\u type”的分层自定义分类法。自定义帖子类型有一个元框,用于event_date 并且与此帖子类型关联的所有帖子都按以下方式排序event_date. 我在循环中有一个特殊的条件来查询event_date 已经发生了-在这种情况下,它没有显示,但只列在我的档案中。就像你可以使用wp_list_categories() 我编写了一个自定义函数,它以完全相同的方式列出所有分类术语。现在