Woocommerce 基于角色的产品图片

问题描述 投票:0回答:2

我正在开发一个 woocommerce 网站,希望就我面临的问题提供一些帮助。

我已经设置了 2 个新用户角色(白银、黄金)并相应调整了价格。到目前为止一切顺利。

我现在想要的是能够仅显示我添加的这 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 } ?>

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

php wordpress woocommerce roles
2个回答
1
投票

正如“mrhossen”建议的那样,我能够使用 ACF 插件解决问题。

对于任何可能面临同样问题的人,这就是我设法做到的方法。

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

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; } ?>   

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


0
投票

听起来您在询问Woocomerce 产品默认图库,这 2 个额外的图像将仅向银牌和金牌用户显示。

我认为不可能像这样修改默认图库,或者如果可能的话会很复杂。

这里有另一个解决方案:

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

  2. 使用ACF插件构建新画廊

  3. 当您在前端传递数据时,只需设置基于用户的条件即可。

就是这样。这将节省您的时间并轻松解决您的问题。

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

© www.soinside.com 2019 - 2024. All rights reserved.