Удаление суффикса цены в зависимости от роли пользователя - PullRequest
2 голосов
/ 04 марта 2020

Сбой при добавлении суффикса на основе роли пользователя, поскольку он не отображает шорткод отображения цены Woo, теперь я подхожу к проблеме с другого направления - я добавил суффикс на вкладку налога Woos и теперь вместо этого хочу удалите суффикс (из всех пользовательских ролей, кроме одной).

Я нашел этот код на 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;
}

Это сработало, однако мне пришлось переключить пользователей (я хочу, чтобы администраторы и оптовики увидели суффикс) и добавить в Customer, et c.

. Проблема в том, что гостевые клиенты все еще видят суффикс.

Может ли кто-нибудь предложить способ сокрытия суффикса от кого-либо, кроме вошедшего в систему пользователя «default-оптовик» и «Администратор»?

Спасибо!

1 Ответ

1 голос
/ 04 марта 2020

Для этого вы можете использовать следующее.

Эта подходит для роли администратора ! Вы можете добавить другую роль как «упражнение»

function custom_woocommerce_get_price_suffix( $html, $product, $price, $qty ) { 
    // check current user role
    $user = wp_get_current_user();
    $roles = ( array ) $user->roles;

    // if NOT in array user roles
    if ( !in_array( 'administrator', $roles ) ) {
        $html = '';
    }

    return $html;
}
add_filter( 'woocommerce_get_price_suffix', 'custom_woocommerce_get_price_suffix', 10, 4 );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...