最近在用这个主题,想加强一下推广功能。随手记录一下Ripro V5主题增加推广用户送会员功能,每满5人送一个月会员。
代码在ripro-v5/inc/template-admin.php中修改
// 用户注册时触发
public function register_hook_action($user_id) {
//注册时写入推荐人ID 没有推荐人 并且当前推荐人不是自己则写入
$ref_id = zb_get_site_current_aff_id($user_id);
if (!empty($ref_id)) {
update_user_meta($user_id, 'cao_ref_from', $ref_id);
#给ref_id充会员
1. 获取ref_id推荐人数
2. 如果ref_id推荐人数>1 and ref_id推荐人数%5==0 加一个月会员
$user_aff_info = ZB_Aff::get_user_aff_info($ref_id);
$recommend_num = count($user_aff_info['ref_uids']);
if (($recommend_num > 0) && ($recommend_num % 5 == 0)){
$uc_vip_info = get_user_vip_data($ref_id);
if ($uc_vip_info['type'] != 'boosvip') {
$vip_buy_options = get_site_vip_buy_options();
$vip_options = $vip_buy_options[30];
$order_price = site_convert_amount($vip_options['coin_price'],'rmb');
$order_type = 3;
$order_info = array(
'ip' => get_ip_address(),
'vip_type' => $vip_options['type'],
'vip_day' => $vip_options['day_num'],
);
//添加订单入库
$order_data = [
'user_id' => $ref_id,
'post_id' => 0,
'order_price' => $order_price,
'order_trade_no' => wp_date("ymdhis") . mt_rand(100, 999) . mt_rand(100, 999) . mt_rand(100, 999), //本地订单号
'order_type' => 3, //订单类型 1=>'Post',2=>'charge',3=>'VIP'
'pay_type' => 88, //支付方式ID
'pay_price' => $order_price,
'order_info' => maybe_serialize($order_info),
];
// 添加订单入库
ZB_Shop::add_order($order_data);
ZB_Shop::pay_notfiy_callback($order_data['order_trade_no'], sprintf('推广%d人,开通会员', $recommend_num));
}
}
}
}
