原因:

原用户的Woocommerce产品详情页提供PDF下载文档,但是用户总觉得有同行天天来白嫖他辛辛苦苦整理的文件。

所以想

1、增加一个注册功能,同时方便收集用户信息。

2、需要手动审批。

这样只开放给注册用户下载文档。

由于使用的Woocommerce系统来做产品展示,未有用到购物功能,先给启用my-account页面来做注册页面。

开启注册审批

然后使用插件Custom User Registration Fields for WooCommerce,开启注册审核功能。这样所有注册用户,都需要经过管理员批准后,才可以登陆下载。

Woocommerce自定义字段检查为某个角色时提供下载权限

代码输出

 


add_action( 'woocommerce_single_product_summary', 'add_custom_addtocart_and_checkout',30 );//插入到产品的summar勾子位置

function add_custom_addtocart_and_checkout() {
global $product;
$download1 = CFS()->get( 'download1' );// 获取自定义字段,自定义字段插件Custom Field Suite
$user = wp_get_current_user();
if ( in_array( 'subscriber' or 'administrator', (array) $user->roles ) ) {  // 判断角色为subscriber 或者管员

if (empty ( $download1)) { //如果值为空,输出
echo'';
} else {
echo '<div class=\'download\' ><a class=\'btn btn-size-default btn-shape-semi-round btn-color-alt\' target=\'_blank\' href=" '. CFS()->get( 'download1' ) .'"> <i class=\'fa fa-cloud-download\'></i> Datasheet</a></div> ';
}

}
else {echo '<div class=\'download\' ><a class=\'btn btn-size-default btn-shape-semi-round btn-color-alt\' target=\'_blank\' href="#"> <i class=\'fa fa-cloud-download\'></i> Datasheet</a></div> ';
}
}

 

最终效果

当未登陆用户点击下载时,弹出登陆框,
当登陆后,即可下载文件。
Woocommerce自定义字段检查为某个角色时提供下载权限

Woocommerce自定义字段检查为某个角色时提供下载权限