Как в личном кабинете пользывателя вывести надпись "PRO" если роль пользывателя "Учасник(Subscriber)", а если любая другая то "Обычный аккаунт"
Нашел в старых темах
rcl_block('content','my_get_role_user'); function my_get_role_user($user_lk){ global $user_LK; $user_data = get_userdata( $user_LK ); $roles = $user_data->roles; $role = array_shift($roles); $content_lk .= 'Роль пользователя: '.$role; return $content_lk; }
Но код наверное устарел и не работает совсем. Помогите решить проблему.
Перенесено в кастомизации.
Данный код не выводит никакую роль "PRO"
И да - он устарел.
Воспользуйтесь примерно этим - по условию выводите так как вам надо, доработайте под себя. Это обычный api wordpress и php:
add_action('rcl_area_actions','my_get_role_user'); function my_get_role_user(){ global $user_LK; $user_data = get_userdata( $user_LK ); $roles = $user_data->roles; $role = array_shift($roles); $content_lk = 'Роль пользователя: '.$role; echo $content_lk; }
хуки могут быть: rcl_area_top, rcl_area_counters, rcl_area_menu, rcl_area_tabs, rcl_area_before, rcl_area_after - в зависимости от того где выводить надо вам.
Поставил но проблема в том что выводит только 2 роли administrator и subscriber например роль учасника не выводит
а также когда делаю изминение названия ролей в профиле они дальше administrator и subscriber, хотя в других местах меняються
function wps_change_role_name() { global $wp_roles; if ( ! isset( $wp_roles ) ) $wp_roles = new WP_Roles(); $wp_roles->roles['contributor']['name'] = 'Гуру'; $wp_roles->role_names['contributor'] = 'Гуру'; $wp_roles->roles['author']['name'] = 'Мыслитель'; $wp_roles->role_names['author'] = 'Мыслитель'; $wp_roles->roles['subscriber']['name'] = 'Ученик'; $wp_roles->role_names['subscriber'] = 'Ученик'; $wp_roles->roles['editor']['name'] = 'Джедай'; $wp_roles->role_names['editor'] = 'Джедай'; $wp_roles->roles['administrator']['name'] = 'Мастер'; $wp_roles->role_names['administrator'] = 'Мастер'; } add_action('init', 'wps_change_role_name');