Sim, existe, você pode usar o woocommerce_get_pricegancho de filtro para filtrar o valor com base na função do usuário e retornar um preço de acordo, por exemplo:
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 );}
Atualmente, o plug-in está em sua fase inicial, mas em breve haverá atualizações para oferecer suporte a recursos adicionais, como preço com base na categoria do produto.
Você pode experimentar o Preço Específico do Cliente para o WooCommerce . Com este plugin, você pode adicionar preços diferentes para usuários registrados.
Atualmente, o plug-in está em sua fase inicial, mas em breve haverá atualizações para oferecer suporte a recursos adicionais, como preço com base na categoria do produto.
fonte