每天从WordPress站点发送电子邮件

时间:2014-04-09 作者:Zammuuz

我定制了一个日历插件,在网站主页上显示今天的生日和本月的结婚纪念日列表。我在插件的显示页面中使用wp_mail 邮件将发送。但这种情况只有在网站被访问时才会发生。我的代码:

if($dat==date(\'Y-m-d\'))/*$dat is the date of event from DB*/
 {
 if($eid!=\'\'){ /*if recipient email id is not null*/
 if($se!=1)  /*if email is sending first time then($se=db column \'send\'value) $se=0 otherwise it is 1*/
 {
 $to=$eid;
 $sub="Birthday Wishes";
  $msg=\'Happy Birthday \'.$ev_title[$j];
 $headers= \'From:Mysite <[email protected]>\' . "\\r\\n".\'Content-type: text/html\'; 
  $attachments=array(WP_CONTENT_DIR . \'/plugins/spider-event-calendar/images/happybday.gif\');
  $rx=wp_mail($to,$sub,$msg,$headers,$attachments);
  $wpdb->update($wpdb->prefix.  "spidercalendar_event",array(\'send\'=>1),array(\'id\'=>$ev_id[$j]));/**/
   //echo "email send";
   }
  else{
      //echo "email already sent";
    }
  }
 }
我听说了wp_cron 但当我在这个论坛上搜索如何写作时cron 在WordPress中,我看到的答案是

不幸的是,WordPress cron作业只有在您的站点被访问时才会触发

如果这是真的,那么即使不访问网页,我如何每天发送电子邮件?还有其他方法吗?

1 个回复
SO网友:Sudar

不幸的是,WordPress cron作业只有在您的站点被访问时才会触发

这是真的。

可靠执行代码的唯一方法(即使访问者不访问您的站点)是使用unix cron函数。

您只需设置一个unix cron作业,该作业将在您的主页上执行wget。

Edit:

你可以阅读this article 了解如何设置unix cron作业。

只需设置通常的wp\\u cron,并安排它在您想要运行它的任何时间运行即可。

之后,设置一个unix cron作业,在主页上执行wget。这将触发页面视图,而页面视图又将触发wp\\u cron作业。

结束