Да, есть, вы можете использовать woocommerce_get_priceловушку фильтра, чтобы отфильтровать значение на основе роли пользователя и соответственно вернуть цену, например:
add_filter('woocommerce_get_price','custom_price_WPA111772',10,2);/**
* custom_price_WPA111772
*
* filter the price based on category and user role
* @param $price
* @param $product
* @return
*/function custom_price_WPA111772($price, $product){if(!is_user_logged_in())return $price;//check if the product is in a category you want, let say shirtsif( has_term('shirts','product_cat',$product->ID)){//check if the user has a role of dealer using a helper function, see bellowif(has_role_WPA111772('dealer')){//give user 10% of
$price = $price *0.9;}}return $price;}/**
* has_role_WPA111772
*
* function to check if a user has a specific role
*
* @param string $role role to check against
* @param int $user_id user id
* @return boolean
*/function has_role_WPA111772($role ='',$user_id =null){if( is_numeric( $user_id ))
$user = get_user_by('id',$user_id );else
$user = wp_get_current_user();if( empty( $user ))returnfalse;return in_array( $role,(array) $user->roles );}
В настоящее время плагин находится на начальной стадии, но скоро будут обновления для поддержки дополнительных функций, таких как цена в зависимости от категории продукта.
Вы можете попробовать специфичные для клиента цены для WooCommerce . С помощью этого плагина вы можете добавлять разные цены для зарегистрированных пользователей.
В настоящее время плагин находится на начальной стадии, но скоро будут обновления для поддержки дополнительных функций, таких как цена в зависимости от категории продукта.
источник