Woocommerce基于角色的产品图片

时间:2018-04-05 08:48:45

标签: wordpress woocommerce roles

我正在开发一个woocommerce网站,并希望得到一些关于我面临的问题的帮助。

我已经设置了2个新用户角色(Silver,Gold)并相应调整价格。到目前为止一切都很好。

我现在想要的是能够仅为我添加的2个新角色展示一些产品图像。不是默认客户。

这有可能吗?我已经搜索了一个可以完成这项工作但却找不到的插件。我也尝试构建下面的自定义函数,但无法找到如何区分显示/隐藏图像。

function img_by_user_role {
$user = wp_get_current_user();
$allowed_roles = array('silver', 'gold');
<?php if( array_intersect($allowed_roles, $user->roles ) ) {  ?> 
   //stuff here for allowed roles
<?php } ?>

非常感谢任何帮助,谢谢您的时间..

2 个答案:

答案 0 :(得分:1)

正如'mrhossen'建议我能够使用ACF插件解决问题。

对于任何可能面临同样问题的人来说,这就是我设法这样做的原因。

  1. 创建了一个名为“Custom_Gallery”的字段组
  2. 填充字段,如屏幕截图所示
  3. 选择“产品”作为位置
  4. 在产品页面上,我上传了自定义字段图片
  5. 我在我的child-theme single-product.php模板中使用了下面的代码片段,我希望图片显示
  6. Screenshot - ACF Settings

    <?php if( current_user_can('silver') || current_user_can('gold') ) {  
    
    $image = get_field('image');
    
    if( !empty($image) ): ?>
    
    <img src="<?php echo $image['url']; ?>" alt="<?php echo $image['alt']; ?>" />
    
    <?php endif; } ?>   
    

    再次感谢您的帮助,非常感谢!

答案 1 :(得分:0)

听起来您在询问 Woocomerce产品默认图库,这2张额外图片仅会显示为Silver&amp;黄金用户。

我认为不可能像这样修改默认图库,或者它是否可能复杂。

这里有另一个解决方案:

  1. 隐藏/删除 Woocomerce产品默认图库

  2. 使用ACF插件构建新图库

  3. 当您在前端传递数据时,只需执行基于用户的条件。

  4. 就是这样。这样可以节省您的时间和时间。很容易解决你的问题。

    如果需要ACF的任何帮助,请问我:)