我有一个Wordpress网站,在我的wp_users表中,我有" user_registered"这是注册日期和" download_limit"它计算用户使用的下载量。如何在注册日期后每30天将用户下载限制重置为0?
答案 0 :(得分:2)
我没有使用Wordpress的经验,但在纯sql(MySql)中,查询看起来像这样:
UPDATE wp_users
SET download_limit=0
WHERE
MOD(
TIMESTAMPDIFF(
DAY,
user_registered,
NOW()
),
30
) = 0
WHERE条件是魔术发生的地方。您可以在现在和订阅日期之间的天数中获取差异。如果可被30整除,则表示您需要重置其计数器。
您可能需要调整此值以反映正确的列名和表名。此外,如果您的订阅日期是时间戳,您可能需要将其包含在FROM_UNIXTIME
函数中。
正如@KhorneHoly正确提到的那样,你需要每天通过某种(懒惰的)cron机制运行此查询。
答案 1 :(得分:0)
您需要一个每天运行的脚本。该脚本会重置满足条件的所有用户的下载限制。
此脚本可以每天使用cronjob启动一次,也可以在当天第一次访问时启动脚本。
这可能是这样的:
对于SQL,请查看@Pevara的答案