7B2主题批量修改文章下载权限2025升级版

地质网老白7B2主题美化教程系列:应评论区站友邀请开发7B2主题批量修改文章下载权限2025升级版。支持后台自定义设置,无需更改权限代码,且仅修改下载权限字段,不会导致其他字段内容清空;并在文章列表增加了“下载权限”列,简明易懂,操作简单。详细教程如下:

7B2主题批量修改文章下载权限2025升级版

1.文章列表下载权限列

1.1 效果演示

如下,文章列表直接能看到设置的下载权限、游客是否允许购买等信息

7B2主题批量修改文章下载权限2025升级版

1.2 实现代码

将下面的代码添加主题或子主题function文件底部

 // 7B2主题文章列表添加下载权限-https://www.dzw6.com/33915.html
add_filter('manage_posts_columns', 'dzw6_add_download_column');
add_action('manage_posts_custom_column', 'dzw6_render_download_column', 10, 2);

function dzw6_add_download_column($columns) {
$columns['download_permission'] = esc_html__('下载权限', 'b2');
return $columns;
}

function dzw6_render_download_column($column, $post_id) {
if ($column !== 'download_permission') return;

$download_status = get_post_meta($post_id, 'b2_open_download', true);
if (empty($download_status)) {
echo '<span class="b2-download-status">'.esc_html__('未启用', 'b2').'</span>';
return;
}

$permission_rules = [];
$groups = get_post_meta($post_id, 'b2_single_post_download_group', true);

if (!empty($groups) && is_array($groups)) {
foreach ($groups as $group) {
if (!is_array($group) || empty($group['rights'])) continue;

// 增强反序列化处理
$rights_data = maybe_unserialize($group['rights']);
if (!is_array($rights_data)) {
$rights_data = explode("\n", $rights_data);
}
$rules = array_filter((array)$rights_data);

foreach ($rules as $rule) {
$rule = trim($rule);
if (empty($rule)) continue;

// 更严格的分割逻辑
$parts = array_map('trim', explode('|', $rule, 2));
if (count($parts) < 2) continue;

list($user_group, $permission) = $parts;

// 用户组显示逻辑优化
$display_group = '';
if (preg_match('/^all$/i', $user_group)) {
$display_group = esc_html__('所有人', 'b2');
} elseif (preg_match('/^lv(\d+)$/i', $user_group, $matches)) {
$display_group = 'LV'.$matches[1];
} elseif (preg_match('/^vip(\d+)$/i', $user_group, $matches)) {
$display_group = 'VIP'.$matches[1];
} else {
$display_group = strtoupper($user_group);
}

// 权限解析逻辑
$display_perm = '';
if (preg_match('/money=(\d+)/i', $permission, $matches)) {
$display_perm = sprintf(esc_html__('付费%s元', 'b2'), $matches[1]);
} elseif (preg_match('/credit=(\d+)/i', $permission, $matches)) {
$display_perm = sprintf(esc_html__('积分%s', 'b2'), $matches[1]);
} else {
$type_map = [
'free' => esc_html__('免费', 'b2'),
'login' => esc_html__('登录可见', 'b2'),
'comment' => esc_html__('评论可见', 'b2')
];
$display_perm = $type_map[strtolower($permission)] ?? '';
}

if ($display_perm) {
$permission_rules[] = $display_group . ' ' . $display_perm;
}
}
}
}

// 游客允许购买处理
if (get_post_meta($post_id, 'b2_down_guest_buy', true)) {
array_unshift($permission_rules, esc_html__('游客允许购买', 'b2'));
}

if (!empty($permission_rules)) {
$permission_rules = array_unique($permission_rules);
// 保持原有排序逻辑
usort($permission_rules, function($a, $b) {
$priority_map = [
esc_html__('所有人', 'b2') => 0,
esc_html__('游客', 'b2') => 1,
esc_html__('普通用户', 'b2') => 2,
'LV' => 3, // LV数字类型
esc_html__('VIP用户', 'b2') => 4,
'VIP' => 5 // VIP数字类型
];

preg_match('/^(.*?)\s/', $a, $matches);
$a_group = $matches[1] ?? '';
preg_match('/^(.*?)\s/', $b, $matches);
$b_group = $matches[1] ?? '';

$a_type = strpos($a_group, 'LV') === 0 ? 'LV' : (strpos($a_group, 'VIP') === 0 ? 'VIP' : $a_group);
$b_type = strpos($b_group, 'LV') === 0 ? 'LV' : (strpos($b_group, 'VIP') === 0 ? 'VIP' : $b_group);

$a_priority = $priority_map[$a_type] ?? 6;
$b_priority = $priority_map[$b_type] ?? 6;

return $a_priority - $b_priority;
});

echo '<div class="b2-permission-rules">'.implode(';', $permission_rules).'</div>';
} else {
echo '<span class="b2-no-rules">'.esc_html__('无权限限制', 'b2').'</span>';
}
}
// 7B2主题文章列表添加下载权限-https://www.dzw6.com/33915.html

2.批量调整文章阅读权限

2.1 效果演示及操作

2.1.1 下载权限设置

点击设置-下载权限设置

7B2主题批量修改文章下载权限2025升级版

设置需要的权限(级别老白已设置为自动读取)

7B2主题批量修改文章下载权限2025升级版

如果付费下载和积分下载请设置对应数量,支持随机模式与固定模式

2.1.2 下载权限应用

保存权限规则后,点击文章列表,右上角设置文章数量,选中需要编辑文章批量应用即可

(温馨提示,请备份数据库后操作)

7B2主题批量修改文章下载权限2025升级版

2.2 实现代码

如下,添加主题或子主题function文件底部

本文为可视化版,若要批量对所有普通用户或者VIP用户调整,可见纯代码版:

7B2主题批量修改文章下载权限纯代码版、

3.相关文章

3.1 定制开发接单

B2主题可扩展的东西很多,老白会结合自己的使用情况发布相关教程或者插件

如有个性化定制以及功能开发可联系老白微-信:x c b t m w(防爬虫间隔符)

7B2主题阅读权限管理插件

7B2主题商品列表添加价格排序功能

3.2 建站经验

B2主题通用美化:https://www.dzw6.com/tag/b2-theme-beautify

B2主题圈子美化:https://www.dzw6.com/tag/b2_theme_circle

WordPress建站经验:https://www.dzw6.com/share/wordpress

给TA打赏
共{{data.count}}人
人已打赏
网站建设

WordPress网站B2主题美化代码高亮+复制(2025更新)

2025-4-28 11:47:40

网站建设

7B2主题批量修改文章下载权限纯代码版

2025-5-25 17:04:02

🚨 小黑屋
  1. yuetu
    yuetu给作者打赏了¥30
  2. yuetu

    所有人(包含游客)的权限是最高的,可以不设置 所有人(包含游客)的权限吗?一旦设置,后面的权限都回不生效了

    • 老白

      好的老哥,我再优化下。下载功能我用得不多,你加我微信咱们沟通细节

  3. yuetu

    老哥,这个插件有一个问题,批量设置权限之后,会把之前的 网盘链接 删除。就是链接资源内容没有了

    • 老白

      老哥你加我微信xcbtmw

  4. yuetu
    yuetu给作者打赏了¥50
    • 老白

      多谢老哥支持😁😁

个人中心
购物车
优惠劵
今日签到
搜索