脚本或插件可在2小时后再次自动发送激活电子邮件

时间:2014-08-14 作者:user1249523

我想在我的服务器上设置一个cron作业来运行一个自动脚本,该脚本将告诉Wordpress:

检查过去2小时内已注册但未登录的用户在下一个cron作业中,它将忽略在之前的cron运行中已发送另一封欢迎电子邮件的用户-如果更容易的话,您甚至可以删除在2小时内未登录的用户非常感谢您提供一些关于如何设置的建议或指点。我一直在网上搜索答案,但没有找到。希望有人能帮忙。

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

wp_users 表具有user_registereduser_activation_key 应用于此的字段。

对于cron作业,应该使用wp_schedule_event(). 但它有一个缺点。

如果超过预定时间,当有人访问您的WordPress站点时,将触发该操作。

对于繁忙的站点来说,这不是问题。但如果您的站点在2小时内没有任何访问者,则不会触发cron任务。如果您需要使用wordpress cron作业,那么您对此无能为力。

在cron函数中,您需要查询已注册的用户,但在这两个字段的帮助下,帐户在过去2小时内未激活。

EDIT:

您可以使用以下代码检查已注册但在过去一小时内未激活其帐户的用户-

global $wpdb;
$users = $wpdb->select_results("SELECT * FROM $wpdb->users
                               WHERE user_activation_key = \'\'
                                 AND user_registered >= NOW() - INTERVAL 2 HOUR"
                               );
foreach( $users as $user ) {
    //Send activation mail
}
如果您需要有关电子邮件模板的帮助,请咨询Wordpress论坛支持中的插件作者。插件支持与此无关。

结束

相关推荐

如果$_Server[‘REQUEST_URI’]为/wp-login.php?check Email=REGISTED,则重定向

这个问题扩展了这个问题Redirect to custom url when registration fails?:他在评论中指出。。要在成功注册时重定向用户,必须add_action 对于login_head 并检查是否$_SERVER[\'REQUEST_URI\'] 是/wp-login.php?checkemail=registered, 并重定向到正确的。可能有一个名为registration_redirect, 但它不起作用我正在尝试将其转换为代码,下面是我得到的:function redi