我计划在配置了s2Member的 WordPress 中的会员资格 EOT(期末)前两周向用户发送电子邮件。我计划设置一个 WordPress cron 作业来发送实际的电子邮件。
如何查询数据库并获取正确的用户?
我计划在配置了s2Member的 WordPress 中的会员资格 EOT(期末)前两周向用户发送电子邮件。我计划设置一个 WordPress cron 作业来发送实际的电子邮件。
如何查询数据库并获取正确的用户?
试试这个:
$members = $wpdb->get_results(
$wpdb->prepare(
"
SELECT
DISTINCT(u.ID),
u.display_name name,
u.user_email memberemail,
um.meta_value eot
FROM {$wpdb->users} u
LEFT JOIN {$wpdb->usermeta} um
ON u.ID = um.user_id
WHERE um.meta_key = 'wp_s2member_auto_eot_time'
"),
ARRAY_A
);
foreach ($members as $member) {
$round_numerator = 60 * 60 * 24;
$rounded_time = ( round(strtotime('+13 days') / $round_numerator) * $round_numerator );
$rounded_eot = ( round($member['eot'] / $round_numerator) * $round_numerator );
if ($rounded_time !== $rounded_eot) {
unset($member);
}
}