Если вы используете woocomerce, один подход слишком ловкий с фильтром woocommerce_get_price
, как показано ниже (используйте этот фильтр в вашей теме functions.php
):
add_filter('woocommerce_get_price', 'mlnc_price_user_based', 10, 2);
function mlnc_price_user_based($price, $product) {
if (!is_user_logged_in()) return $price;
//check if the user has a role of dealer using a helper function, see bellow
$current_user = wp_get_current_user();
if ($current_user->roles[0] == 'administrator'){
//give user 10% of
$price = $price * 0.5;
}
return $price;
}
В этом примере я фильтровал пользователей по ролям пользователей
В любом случае, вы должны предоставить дополнительную информацию, такую как @Damocles упомянутой