使用for循环将电子邮件发送到不同的帐户

时间:2015-11-10 作者:Justin

我需要运行for循环来遍历我网站上的所有用户,并发送任何适用的电子邮件。一个用户的个人资料上可以有几个类别,比如4个。如果客户选择接收电子邮件,则会循环浏览他们的4个类别。我想为每个类别向他们发送一封独特的电子邮件。

此函数在没有for循环的情况下工作。如果我将其删除,我将成功收到第一个类别的电子邮件。一旦我加入这个循环,它就失败了,我没有收到任何电子邮件。

所以有两个问题-关于如何让for循环工作有什么建议吗?有没有Cron作业的日志文件可以查看?我检查了一些插件,但找不到我要找的东西。

非常感谢。

<?php
function check_user_tasks_week_before() {

    function set_html_content_type() {
        return \'text/html\';
    }

    add_filter( \'wp_mail_content_type\', \'set_html_content_type\' ); //switches the emails to html
    $Number_of_Categories = 4;
    $user_info = get_userdata(1);

    if ($user_info->email_option == "Yes") {
        for ($z = 1; $z <= $Number_of_Categories; $z++) { //loop through each category      
            $subject = \'\';
            $message = \'\';
            $headers = \'From: Me <[email protected]>\' . "\\r\\n";
            $subject = \'Email Reminder: \' . $user_info->category_1_step_1_category;
            ob_start();
            ?>
            <p>this is some info</p>
            <h1>this is a header</h1>
            <p>Here is a nice reminder for you <?php echo $user_info->user_login ?></p>
            <?php

            $message = ob_get_contents();

            ob_end_clean();

            wp_mail( \'[email protected]\', $subject, $message, $headers);

        } //end for ($z = 1; $z <= $Number_of_Categories; $z++)
    } //end ($user_info->email_option == "Yes")

    remove_filter( \'wp_mail_content_type\', \'set_html_content_type\' ); //switches the emails to text to avoid issues with other wp_mail() calls

} //end check_user_tasks_week_before
?>

1 个回复
最合适的回答,由SO网友:Justin 整理而成

无论出于何种原因,本部分:

for ($z = 1; $z <= $Number_of_Categories; $z++)
是罪犯。尽管上面定义了$Number\\u of\\u Categories,但该值并不适用。我必须构建一个函数,然后执行以下操作:

function get_Number_of_Categories(){
  return "2";
}

for ($z = 1; $z <= get_Number_of_Categories(); $z++)
一旦我这样做了,循环就起作用了。

相关推荐

Wordpress wp-cron not working

Cron未按预期工作。如果我安排帖子或事件管理器事件,如果在发布时间之后访问站点,则不会发布。如果我去http://somedomain.tld/wp-cron.php?doing_wp_cron 它为空,而调试设置为打开。它应该是空的还是应该显示一些错误(如果有)?错误日志为空。WP Crontrol插件显示cron作业。有没有提示下一步要检查什么?