基于B2商城系统添加自己的授权机制

B2功能很强大,前文简单介绍了Software License Manager插件的运行机制;在这里介绍一下怎么和B2主题结合。

查询Software License Manager插件我们能知道其官方已经给出了和WP eStore、WP Express Checkout插件结合的方案,但是都是收费的,免费的可以借助WC Software License Manager插件把Software License Manager和Woocommerce商城系统链接起来用Woocommerce来给用户分发许可码;也可以用EDD Software License Manager插件把Software License Manager和Easy Digital Downloads链接起来用Easy Digital Downloads来给用户分发许可码

动手

既然已经有前辈给出的示例,B2也有可用的钩子;我们就可以借鉴思路把Software License Manager插件和B2主题自带商城结合起来,用B2商城来分发许可就行了,WOO和EDD并不适合国内使用,B2的商城又很完善没必要再装一套商城系统

1、先给文章、商城编辑器添加自定义字段

文件位置:wp-content\themes\b2\Modules\Settings\Post.php;在该文件搜索post_download_settings,在里面照葫芦画瓢添加SLM的自定义字段


        $slm_post_meta = new_cmb2_box(array( 
            'id'            => 'slm_post_metabox',
            'title'         => __( 'SLM许可码分发', 'b2' ),
            'object_types'  => array( 'post','document','shop','page'),/*在哪些页面显示*/
            'context'       => 'normal',
            'priority'      => 'high',
            'show_names'    => true,
        ));

        $slm_post_meta->add_field(array(
            'name' => __('启用软件授权','b2'),
            'id'   => 'slm_verify',
            'type' => 'select',
            'options'=>array(
                1=>__('允许','b2'),
                0=>__('禁止','b2')
            ),
            'desc'=>__('如果启用购买结果将生成独立许可码。','b2'),
            'default'=>0,
        ));

        $slm_post_meta->add_field(array(
            'name' => __('项目名称','b2'),
            'id'   => 'slm_item_name',
            'type' => 'text',
            'desc'=>__('输入项目名称。','b2'),
            'default'=>'',
        ));

        $slm_post_meta->add_field(array(
            'name' => __('有效期(年)','b2'),
            'id'   => 'slm_buy',
            'type' => 'text',
            'desc'=>__('输入有效期的年数;输入 0 或留空将获得终身有效。','b2'),
            'default'=>0,
        ));

        $slm_post_meta->add_field(array(
            'name' => __('允许的站点数量','b2'),
            'id'   => 'slm_sites',
            'type' => 'text',
            'desc'=>__('输入许可证密钥可以同时激活的站点数量;值必须大于 0','b2'),
            'default'=>1,
        ));
基于B2商城系统添加自己的授权机制
编辑器部分修改完成,我们还需要让其生效
2、判断是否启用功能

如果启用则在用户执行完成购买操作后,用【b2_order_callback_gx】钩子通知Software License Manager插件生成许可码

<?php
add_filter('b2_order_callback_gx', 'b2_buy_licensn', 0,2);
function b2_buy_licensn($money,$data){
//购买成功以后在此执行slm_create_new操作新建许可
//$data 为订单信息
return $data;
}
?>

许可新建成功将通过主题通知邮件系统发送包含许可码的邮件

基于B2商城系统添加自己的授权机制
3、应用到项目中

完成上面步骤后用户购买将生成相应的独立许可码,我们只需要通过Software License Manager插件提供的API端口进行查询验证就好了

基于B2商城系统添加自己的授权机制
© 版权声明

给TA赞助
共{{data.count}}人
人已赞助
WP教程

分享wordpress主题显示评论者IP的归属地及运营商信息

2022-5-19 23:41:19

WP教程

基于B2商城系统添加自己的授权机制(验证文件)

2022-6-11 4:33:50

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索
文章目录