3 ответ(ов) в теме
21d
не в сети 1 неделя
На сайте с 24.08.2017
Участник
Тем 49
Сообщения 179
1
15:27
Версия WP-Recall:16.17.11

Как в личном кабинете пользывателя вывести надпись "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;
}

Но код наверное устарел и не работает совсем. Помогите решить проблему.

0
Дружаев Владимир (Otshelnik-Fm)
На сайте с 27.01.2013
Модератор
Тем 30
Сообщения 14827
2
17:37

Перенесено в кастомизации.

Данный код не выводит никакую роль "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 - в зависимости от того где выводить надо вам.

0
21d
не в сети 1 неделя
На сайте с 24.08.2017
Участник
Тем 49
Сообщения 179
3
22:42

Поставил но проблема в том что выводит только 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');

0
Вы не имеете права на публикацию сообщений в этой теме