代码有详细注解,订单已经实现 实现功能:拉新用户注册,送一定期限的会员或者送一定的积分。 效果: 1 、用户邀请他人注册成功获得用户积分,然后积分可以兑换会员。 2 、用户邀请他人注册,直接获得一定天数的会员。 代码:
function notify_referrer_on_new_registration($new_user_id) {
// 获取新注册用户的数据
$new_user_data = get_userdata($new_user_id);
// 假设我们在用户注册时,通过某种方式保存了推荐人的 ID
// 例如,可能保存在用户的 meta 数据中
$referrer_id = get_user_meta($new_user_id, 'referrer_id', true);
if (!empty($referrer_id)) {
// 获取推荐人的数据
$referrer_data = get_userdata($referrer_id);
if ($referrer_data) {
// 设置邮件标题和内容
$blog_name = get_bloginfo('name');
$subject = '您推广的好友已成功注册';
$message = "亲爱的 {$referrer_data->display_name},\n\n";
$message .= "您推广的好友 {$new_user_data->display_name} 已经成功在 {$blog_name} 网站上注册。\n\n";
$message .= "访问下面的链接查看您的推广成果:\n";
$message .= site_url('/referrer-area'); // 替换为您的推荐区域 URL
// 设置邮件头部信息
$headers = array('Content-Type: text/plain; charset=UTF-8');
// 发送邮件
if (!zib_msg_is_allow_receive($user_id, 'ueser_reg')) return;
wp_mail($referrer_data->user_email, $subject, $message, $headers);
//给推荐人加积分
$points_put=30;
update_user_meta($referrer_id, 'points', get_user_meta($referrer_id, 'points', true) +$points_put); // 假设每次邀请增加 10 积分
// 更新用户元数据,设置用户的会员等级以及时间
$set_level=1;//1 为一级会员,2 为二级会员
$set_time = date('Y-m-d H:i', strtotime('+ 1 day')); //year 为年、 day 是日
update_user_meta($new_user_id, 'vip_level', $set_level);
// 更新用户元数据,设置用户的会员过期日期
update_user_meta($new_user_id, 'vip_exp_date', $set_time);
$data = array(
'order_num' => '',
'value' => +$points_put,
'type' => '用户推广',
'desc' => '在本站用户推广中获得' . $points_put . '积分',
);
zibpay_update_user_points($referrer_id, $data);
}
}
}add_action('user_register', 'notify_referrer_on_new_registration', 10, 1);
© 版权声明
版权解释权归发文作者所有,未经允许,不得转载!侵权请举报!
THE END
暂无评论内容