如果用户在X时间内没有登录,则发送电子邮件

时间:2016-09-23 13:37:15

标签: php wordpress

有没有办法执行以下操作:

  1. 找出用户上次登录Wordpress的时间。
  2. 如果超过X时间,则发送电子邮件提醒。
  3. 基本上,我们的想法是鼓励用户登录并更新网站。

    我找到了this插件,它给了我最后一次登录时间。我也可以使用wp_mail();发送电子邮件,但是如何触发所有这些/持续检查上次登录日期?

3 个答案:

答案 0 :(得分:1)

使用您提到的插件,您的wp_users表中会有一个新的数据库列,这为您提供了一个很好的起点。

接下来,正如@bswatson所提到的,您可以利用WP Cron来运行检查非活动用户的任务(如果关注网站流量较低,您可能会考虑setting up WP Cron to use a real cron job)。每日任务看起来像这样:

  1. 收集数据库中过去X天或以上未登录的所有用户。

    • 您可以考虑在推出cron任务之前安装插件,或冒险通过电子邮件发送所有人
    • 由于您可能不想每天向人们发送垃圾邮件,我建议您添加一些用户元来表明此人已经通过电子邮件发送;您可以在构建人员列表时过滤掉这些用户,然后在用户登录时删除该用户元。
    • 根据您的WordPress网站的大小,您可能希望仅限于少数用户;电子邮件管理员和编辑(具有发布功能的人)可能是有意义的,但可能不是作者/贡献者/订阅者。如果您需要向大量人发送电子邮件,我建议批量处理(您甚至可以在cron作业中注册cron作业),以避免一次发送数十/数百/数千封电子邮件。
  2. 循环浏览用户,使用wp_mail()通过电子邮件发送给他们,以便他们登录。

    • 发送电子邮件后,添加一些用户元以防止重复发送电子邮件。
  3. 祝你好运!

答案 1 :(得分:0)

这取决于你在托管上有什么选择。我不知道怎么在纯粹的WordPress中做到这一点(我不知道这样的事情是否可行)。

但我会使用一些cron作业运行一些小脚本。如果你可以使用system cron。

编辑: 我找到了this WP插件。但我怀疑,这取决于用户访问您的网站。因此,如果您想在网站流量上独立发送电子邮件,那么您需要使用一些操作系统解决方案。

答案 2 :(得分:0)

WordPress有一个名为WP Cron的内置系统,它模仿系统cron,但可以直接在代码中进行设置和配置。存在一些缺点,例如需要流量才能完成任务。

以下是how WP Cron works的完全细分,包括一些解决问题的方法。