一、B2 下载功能概述
B2 主题的下载功能是资源站的变现核心,支持设置下载权限(游客/积分/等级/VIP)、下载次数限制、有效期内重复下载、下载模板等。二次开发时,重点在于理解下载数据与权限判断的流程。
二、下载权限的常见配置
在文章编辑页的”下载设置”中,每一行代表一种下载权限,格式为:
Text
guest|money=3 // 游客:金额 3 元
lv|credit=30 // 等级用户:积分 30
vip|free // VIP 用户:免费
系统会按配置顺序进行权限匹配,命中即允许下载并弹出下载列表。
三、下载次数限制机制
B2 在用户等级设置中支持”允许每天下载的次数”。当用户当天下载达到上限后,将按资源设置的付费金额进行收费下载。需要注意:
1. 下载次数按用户等级对应的权限计算,而不是固定值。
2. 已购买/有效期内重复下载,不应重复扣除下载次数。
3. 支付成功后只更新支付状态,下载成功后单独扣除下载次数,两者互不干扰。
四、自定义下载模板
后台-综合设置-下载设置中支持”下载模板”功能,可以预先设置多套下载模板,发布文章时一键套用,各选项会被模板自动填充,适合批量发布资源时使用。
五、二开示例:下载后记录日志
Text
<?php
// 在下载成功位置调用,记录下载日志
function jitheme_log_download( $user_id, $post_id, $post_type, $file_url, $cost_type, $cost_value ) {
global $wpdb;
$wpdb->insert( $wpdb->prefix . 'jitheme_dl_log', array(
'user_id' => (int) $user_id,
'post_id' => (int) $post_id,
'post_type' => $post_type,
'file_url' => $file_url,
'cost_type' => $cost_type,
'cost_value' => $cost_value,
'created_at' => current_time( 'mysql' ),
) );
}
六、注意事项
1. 修改下载逻辑时,请确保不会绕过支付与权限判断。
2. 下载次数扣除请按”用户总次数权限”计算,后台更改次数后应立即生效。

