子比主题开通会员赠送XX个月会员功能

子比主题开通会员赠送XX个月会员功能-资源栈
子比主题开通会员赠送XX个月会员功能
此内容为付费资源,请付费后查看
R9.9
限时特惠
R15
立即购买
未登录购买可能造成订单不回调、不显示问题,建议登录后再购买
真实信息
资源补发
稳定服务
若遇资源失效或购买后不显示等问题,请发订单号以及文章链接联系 有业游民补发资源链接
付费资源
已售 751
子比主题开通会员赠送XX个月会员功能-资源栈
子比主题开通会员赠送XX个月会员功能-资源栈

使用方法:

  • 一共有两种方式去实现这个功能,手动修改代码、替换已修改好的文件
  • 主要定位文件:\zibll\zibpay\functions\zibpay-vip.php和\zibll\inc\options\options-module.php
  • 无论是修改还是覆盖请提前备份原文件,小白请勿购买!
  • 我在手动修改代码和直接替换文件里都给出了具体的使用方法!

使用说明:

  • 该功能只有在开通会员的时候会额外赠送所设置的会员月数,升级和续费不会额外赠送所设置的会员月数
  • 完全萌新的请勿购买、该教程需要有一定代码基础

手动修改代码:

定位文件:\zibll\inc\options\options-module.php

找到public static function vip_product()即可《大概499行》

public static function vip_product()
    {
        return array(
            array(
                'id'      => 'price',
                'title'   => '执行价',
                'default' => '699',
                'type'    => 'number',
                'unit'    => '元',
            ),
            array(
                'id'      => 'show_price',
                'title'   => '原价',
                'desc'    => '显示在执行价格前面,并划掉',
                'default' => '999',
                'type'    => 'number',
                'unit'    => '元',
                'class'   => 'compact',
            ),
            array(
                'id'         => 'tag',
                'title'      => '促销标签',
                'class'      => 'compact',
                'desc'       => '支持HTML,请注意控制长度',
                'attributes' => array(
                    'rows' => 1,
                ),
                'type'       => 'textarea',
            ),
            array(
                'dependency' => array('tag', '!=', ''),
                'title'      => '标签颜色',
                'id'         => "tag_class",
                'class'      => 'compact skin-color',
                'default'    => "jb-yellow",
                'type'       => "palette",
                'options'    => CFS_Module::zib_palette(),
            ),
            array(
                'dependency' => array('time', '==', 0),
                'type'       => 'submessage',
                'style'      => 'success',
                'content'    => '<strong>会员有效时间已设置为:<code>永久会员</code></strong>',
            ),
            array(
                'title'   => '会员有效时间',
                'id'      => 'time',
                'class'   => 'compact',
                'desc'    => '开通会员的时长。填<code>0</code>则为永久会员',
                'default' => 3,
                'max'     => 36,
                'min'     => 0,
                'step'    => 1,
                'unit'    => '个月',
                'type'    => 'spinner',
            ),
      array(
            'title'   => '赠送会员时间',
            'id'      => 'time_gift',
            'class'   => 'compact',
            'desc'    => '赠送给会员的额外时间。填<code>0</code>表示不赠送额外时间。',
            'default' => 0,
            'max'     => 36,
            'min'     => 0,
            'step'    => 1,
            'unit'    => '个月',
            'type'    => 'spinner',
        ),

        );
    }

定位文件:\zibll\zibpay\functions\zibpay-vip.php

找到:function zibpay_uservip_paysuccess($values)《大概518行》

/**付款成功后后更新用户数据 */
function zibpay_uservip_paysuccess($values)
{
    $pay_order = $values;
    if (empty($pay_order->user_id) || empty($pay_order->product_id) || 4 != $pay_order->order_type) {
        return;
    }

    $vip_product_id = explode("_", $pay_order->product_id);
    if (!isset($vip_product_id[0]) || !isset($vip_product_id[1]) || !isset($vip_product_id[2]) || 'vip' != $vip_product_id[0]) {
        return;
    }

    $pay_vip_level   = (int) $vip_product_id[1];
    $pay_vip_product = (int) $vip_product_id[2];
    $pay_vip_action  = $vip_product_id[3];

    //获取用户本来的会员等级
    $type_text         = '购买会员';
    $user_id           = $pay_order->user_id;
    $user_vip_level    = zib_get_user_vip_level($user_id);
    $user_vip_exp_date = get_user_meta($pay_order->user_id, 'vip_exp_date', true);
    $new_date          = current_time('Y-m-d h:i:s');

    // 赠送会员时间
    $time_gift = (int) _pz('vip_opt', '', 'vip_' . $pay_vip_level . '_product')[$pay_vip_product]['time_gift'];

    if ('renew' == $pay_vip_action) {
        //续费
        $type_text          = '续费会员';
        $renew_product_args = zibpay_get_vip_renew_product($pay_vip_level);
        $pay_vip_time       = $renew_product_args[$pay_vip_product]['time'];
        if ('Permanent' == $pay_vip_time) {
            //永久会员选项
            $new_vip_exp_date = 'Permanent';
        } else {
            //续费根据用户现有时间追加
            $new_vip_exp_date = date("Y-m-d 23:59:59", strtotime("+" . ($pay_vip_time + $time_gift) . "months", strtotime($user_vip_exp_date)));
        }
    } elseif ('upgrade' == $pay_vip_action) {
        //升级
        $type_text            = '升级会员';
        $upgrade_product_args = zibpay_get_vip_upgrade_product($user_id);
        $pay_vip_time         = $upgrade_product_args[$pay_vip_product]['time'];
        $new_vip_exp_date     = 'Permanent' == $pay_vip_time ? 'Permanent' : $user_vip_exp_date;
    } else {
        //购买会员的商品选项
        $pay_product_args = (array) _pz('vip_opt', '', 'vip_' . $pay_vip_level . '_product');
        $pay_vip_time     = (int) $pay_product_args[$pay_vip_product]['time'];

        if (0 == $pay_vip_time) {
            //永久会员选项
            $new_vip_exp_date = 'Permanent';
        } else {
            $new_vip_exp_date = date("Y-m-d 23:59:59", strtotime("+" . ($pay_vip_time + $time_gift) . "months", strtotime($new_date)));
        }
    }

    $data = array(
        'vip_level' => $pay_vip_level, //等级
        'exp_date'  => $new_vip_exp_date, //有效截至时间
        'type'      => $type_text, //中文说明
        'order_num' => $pay_order->order_num, //订单号
        'desc'      => '', //说明
    );
    zibpay_update_user_vip($user_id, $data);
}
add_action('payment_order_success', 'zibpay_uservip_paysuccess', 9);

直接替换文件:

使用方法:

  • 解压开通会员额外赠送会员.zip得到两个文件,zibpay-vip.php和options-module.php
  • 然后将两个文件按照下面路径去上传覆盖
  • \zibll\zibpay\functions\zibpay-vip.php和\zibll\inc\options\options-module.php
  • 不懂啥叫覆盖的请百度或者请勿购买
  • 纯萌新可以有偿帮你解决

温馨提示: 本文最后更新于2024-07-30 19:24:11,某些文章具有时效性,若有错误或已失效,请在下方 留言或联系 站长
© 版权声明
THE END
喜欢就支持一下吧
点赞2465 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容