Member Pro 用户中心插件会员开通前端调用技术实现方案

Member Pro插件支持会员订阅功能,通过开通会员可以获取更多免费或者折扣权限。目前前端页面针对会员订阅开通的入口有以下几个:

  • 涉及到会员优惠或者免费内容(资源)的位置有会员开通提示及入口;
  • 账号设置页面头像昵称下方有开通的入口;
  • 内置了一个会员开通的边栏小工具,可选择添加到边栏

总体来说能满足基本的使用需求。不过还是有部分用户会有自定义的需求,比如专门做一个会员介绍的页面,然后放置开通会员的按钮,或者结合自身业务需求二次开发的时候涉及到会员开通的调用等。针对这类需求我们近期版本完善了会员开通的前端调用方式。

Member Pro 用户中心插件会员开通前端调用技术实现方案Member Pro 用户中心插件会员开通前端调用技术实现方案

会员开通、续费及升级的前端调用

目前可以通过在HTML元素节点上添类名(class)实现调用,这个HTML元素可以是按钮、链接、图片或者其他具体业务场景需要的元素,并无限制;并指定data-vip属性选定默认会员ID及付费周期,其中会员ID和付费周期通过两个英文冒号分隔,例如:vip1::month

1、会员开通调用

类名(class) data-vip属性(可选)
j-vip-new 需要开通的会员ID::开通周期

示例代码:

// 调用会员开通弹框


// 调用会员开通弹框,并根据data-vip属性默认选中开通信息

2、会员续费调用

类名(class) data-vip属性(可选)
j-vip-renew 需要续费的会员ID::续费周期

示例代码:

// 调用会员续费弹框


// 调用会员续费弹框,并根据data-vip属性默认选中续费信息

3、会员升级调用

类名(class) data-vip属性(可选)
j-vip-upgrade 需要升级到的会员ID::升级周期

示例代码:

// 调用会员升级弹框


// 调用会员升级弹框,并根据data-vip属性默认选中升级信息

4、会员ID和周期

会员ID

会员ID可在后台「用户中心-会员订阅-会员类型」里面查看具体每个会员设置的ID。

周期

首先需要在「用户中心-会员订阅-会员类型」里面确保当前操作的会员有勾选对应的付费周期选项,具体每个付费周期字段值如下表:

周付 月付 季付 半年付 年付 终身
week month season halfyear year lifetime

后端判断会员状态

前端可以调用会员开通的弹框,但是无法判断具体用户是否已经开通会员,或者需要升级的会员没准比当前会员等级还低,所以对于有开发能力的用户可以依靠服务端PHP代码实现进一步判断处理。

可能涉及到的PHP方法

WPCOM_VIP::get_user_vip($user_id = ""):$user_id为用户ID,可选参数,获取用户会员详细信息

WPCOM_VIP::vip_can_upgrade($vip):$vip传入需要判断的用户会员信息,查询会员是否可以升级

WPCOM_VIP::get_vip_types():获取后台配置的会员类型信息

1、用户是否已经开通会员

判断示例代码:

/**
 * 判断方法 WPCOM_VIP::get_user_vip($user_id = "")
 * @param int $user_id  可选,可以传入当前需要判断的用户ID,不传自动查询当前登录用户
 * @return mixed 查询到会员信息会返回array数组,失败返回 false
 */

$vip = WPCOM_VIP::get_user_vip();

if($vip){
    // 是会员,不展示会员开通按钮
    echo "已经是会员";
    // 或者可以打印 $vip 查看会员具体信息,比如比对会员ID和当前需要操作的会员ID一致,则展示续费按钮;另外expired字段是会员到期时间,如果付费周期允许为终身则需要单独判断,到期时间年份是9999则表示是终身会员,不支持续费
    if($vip['ID'] === 'vip1'){
        echo '';
    }
}else{
    echo '';
}

1、用户是否允许升级会员

判断示例代码:

/**
 * 判断方法  WPCOM_VIP::vip_can_upgrade($vip)
 * @param array $vip  传入需要判断的会员信息
 * @return bool 可以升级返回true,否则返回 false
 */

$vip = WPCOM_VIP::get_user_vip(); // 先获取当前用户会员信息
$upgrade = WPCOM_VIP::vip_can_upgrade($vip);

if($upgrade){
    // 可以升级
    echo '';
}else{
    // 不能升级,可能后台未开启允许会员升级选项,如果已经开启,则表示用户已经是最高等级会员
    echo '您好,尊贵的至尊会员用户';
}

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA打赏
共{{data.count}}人
人已打赏
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索