Woocommerce 删除基于用户角色的价格后缀

Woocommerce 删除基于用户角色的价格后缀,woocommerce,hide,suffix,Woocommerce,Hide,Suffix,基于用户角色添加后缀失败,因为它不会显示Woo price display短代码,我现在从另一个方向解决问题-我已将后缀添加到Woos tax选项卡,现在希望删除后缀(除一个用户角色外的所有用户角色) 我在github上找到以下代码,用于从产品中删除后缀: add_filter( 'woocommerce_get_price_suffix', 'custom_woocommerce_get_price_suffix', 10, 2 ); function custom_woocommerce_

基于用户角色添加后缀失败,因为它不会显示Woo price display短代码,我现在从另一个方向解决问题-我已将后缀添加到Woos tax选项卡,现在希望删除后缀(除一个用户角色外的所有用户角色)

我在github上找到以下代码,用于从产品中删除后缀:

add_filter( 'woocommerce_get_price_suffix', 'custom_woocommerce_get_price_suffix', 10, 2 );

function custom_woocommerce_get_price_suffix( $price_display_suffix, $product ) {
  if ( ! $product->is_taxable() ) {
    return '';
  }
  return $price_display_suffix;
}
我修改了它,对某些用户类型隐藏后缀

add_filter( 'woocommerce_get_price_suffix', 'custom_woocommerce_get_price_suffix', 10, 2 );

function custom_woocommerce_get_price_suffix( $price_display_suffix, $product ) {

 // check current user role
    $user = wp_get_current_user();
    $roles = ( array ) $user->roles;

   if ( in_array( 'administrator', $roles ) ) {
        $price = $your_suffix;
    } elseif ( in_array( 'default_wholesaler', $roles ) ) {
        $price = '$your_suffix';

    return '';
  }
  return $price_display_suffix;
}
这是可行的,但是我必须切换用户(我希望管理员和批发商看到后缀)并输入客户,等等

问题是来宾客户仍然看到后缀

除了登录的“默认批发商”用户和“管理员”之外,是否有人能建议一种对任何人隐藏后缀的方法


谢谢

对此,您可以使用以下内容

适用于管理员角色!您可以自己添加另一个角色作为“练习”

函数自定义\u商业\u获取\u价格\u后缀($html,$product,$price,$qty){
//检查当前用户角色
$user=wp_get_current_user();
$roles=(数组)$user->roles;
//如果不在阵列用户角色中
if(!in_数组('administrator',$roles)){
$html='';
}
返回$html;
}
添加过滤器('woocommerce\u get\u price\u suffix','custom\u woocommerce\u get\u price\u suffix',10,4);

太棒了!很好用!终于让它显示在前端我想要它,虽然有点复杂的后端!谢谢