如何在登录时更改WooCommerce角色?



我正在一个批发网站上工作,并希望该网站在登录后自动将用户角色更改为批发客户。

这将使客户能够看到批发价格。

我已经自定义了这段代码(如下(并将其添加到代码片段插件中,但它似乎不起作用。谁能看到我错过了什么?

function uiwc_change_role()
{
// get WP_user object
$user = wp_get_current_user();
// if the this is a registered user and this user is not an admin
if (false !== $user && !user_can($user, 'administrator')) {
//set the new role to our customer
$user->set_role('wholesale-customer');
}
}
add_action('wp_login', 'uiwc_change_role', 100, 0);

我不确定问题是否与您使用的钩子有关,但我已使用"wp_footer"钩子修改了您的代码。我假设您已经创建了一个名为"批发客户"的用户角色。

function uiwc_change_role()
{
// get WP_user object
$user = wp_get_current_user();
$role = $user->roles;
// if the this is a registered user and this user is not an admin
if (is_user_logged_in() && !user_can($user, 'administrator') && !in_array('wholesale-customer', $role)) {
//set the new role to our customer
$user->set_role('wholesale-customer');
}
}
add_action('wp_footer', 'uiwc_change_role');

经过测试并工作。我希望这对你有帮助。祝你今天开心。

最新更新