如果用户未登录X时间,则发送电子邮件


Send email if user hasn't logged in for X amount of time

是否有以下方法:

  1. 查找用户上次登录Wordpress的时间。
  2. 如果时间超过X,则发送电子邮件提醒。

本质上,这个想法是鼓励用户登录和更新网站。

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

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

接下来,正如@bswatson提到的,你可以利用WP Cron来运行一个任务,检查不活跃的用户(如果站点流量低,你可能会考虑设置WP Cron来使用一个真正的Cron作业)。每日任务看起来像这样:

  1. 从数据库中收集最近X天及以上未登录的所有用户。

    • 你可以考虑在推出cron任务之前安装插件,或者冒险给每个人发邮件
    • 因为你可能不想每天都给别人发垃圾邮件,我建议你添加一些用户元信息来表明这个人已经收到了电子邮件;您可以在构建要发送电子邮件的用户列表时过滤掉这些用户,然后在用户登录时删除该用户元。
    • 根据你的WordPress网站的大小,你可能会想要限制只有几个用户;它可能对管理员和编辑(具有发布能力的人)有意义,但可能对作者/贡献者/订阅者没有意义。如果你需要给大量的人发送电子邮件,我建议你批量发送(你甚至可以在cron作业中注册cron作业),以避免一次发送数十/数百/数千封电子邮件。
  2. 通过用户循环,使用wp_mail()发送邮件,促使他们登录。

    • 一旦电子邮件发送,添加一点用户元数据,以防止重复的电子邮件。

祝你好运!

这取决于你的主机有什么选择。我不知道如何在WordPress中做到这一点(我也不知道这样的事情是否可能)。

但是我会使用一些cron作业来运行一些小脚本。如果您可以使用system cron,当然可以。

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

WordPress有一个内置的系统叫做WP Cron,它模仿了一个系统Cron,但是可以在代码中直接设置和配置。也有一些缺点,比如需要流量来完成任务。

下面是WP Cron工作原理的详细介绍,包括一些解决问题的方法。