Я просто хочу показать какое-то сообщение, когда у пользователя есть обычай роль пользователя. Он работает с собственными пользовательскими ролями, но не с пользовательскими. Вот мой код:
<?php
$user_ID = get_current_user_ID();
$user = new WP_User( $user_ID );
$current_user = $user->roles[0];
if( $current_user == 'client' ){
echo 'hello client';
} else {
// do nothing
}
?>
Любая помощь приветствуется, спасибо!
Вы можете попробовать это:
if ( is_user_logged_in() )
{
global $current_user;
$user_role = $current_user->roles[0];
if($user_role == 'client')
{
// do something
}
}
is_user_logged_in()
используется, чтобы проверить, вошел ли пользователь в систему или нет
Приведенные выше примеры являются проблематичными, если у пользователя более одного набора ролей, так как код проверяет только первую роль, которую установил пользователь.
В идеале вы должны проверить, соответствует ли какая-либо из ролей пользователя пользовательской роли:
if ( is_user_logged_in() ) {
global $current_user;
if( in_array('YOUR_CUSTOM_ROLE', $current_user->roles) ) {
echo 'User has Custom Role';
} else {
echo 'User does not have Custom Role';
}
}