Андрей Plechev said
Файл /wp-content/plugins/recall/add-on/profile/index.php
функция recall_block_edit_user_profile
Но мне надо выводить эту информацию не при редактировании своего профиля, а при просмотре чужого, чтоб его роль была написана сверху аватара.
И чтоб вообще решить мою проблему, надо чтобы определенная роль только выводилась. Например, если это админ - то должен выводиться текст ну или блок сверху, а если остальные, то ничего не должно выводиться. Если не сложно подскажите пожалуйста как это реализовать.
Вот вам код, пользуйтесь. Вставьте его в файл функций шаблона.
add_filter('rcl_content_user','get_role_user',1,2); function get_role_user($content_lk,$user_id){ $user_data = get_userdata( $user_id ); $roles = $user_data->roles; $role = array_shift($roles); $content_lk .= 'Роль пользователя: '.$role; return $content_lk; }
Андрей Plechev said
Вот вам код, пользуйтесь. Вставьте его в файл функций шаблона.
Спасибо большое! А скажите пожалуйста, как вывести не системное название роли (оно на английском и маленькими буквами) а то что Display Name?
Поставил плагин User Role Editor, чтобы название поменять. Вот скрин
Андрей Plechev said
Вот вам код, пользуйтесь. Вставьте его в файл функций шаблона.
add_filter('rcl_content_user','get_role_user',1,2); function get_role_user($content_lk,$user_id){ $user_data = get_userdata( $user_id ); $roles = $user_data->roles; $role = array_shift($roles); $content_lk .= 'Роль пользователя: '.$role; return $content_lk; }
Всем доброго времени суток!
Долго искал по форуму и не нашел ничего более подходящего по моей проблемке. Поэтому обращаюсь за помощью в этой теме.
---Суть вопроса: Как мне сделать, чтобы блок с рекламой не отображался в профиле с ролью, например, "Автор" ?
add_filter('rcl_content_user','get_role_user',1,2); function get_role_user($content_lk,$user_id){ $user_data = get_userdata( $user_id ); $roles = $user_data->roles; $role = array_shift($roles); if($role=='author'){ $content_lk .= 'Тут код рекламного блока'; } return $content_lk; }
Андрей Plechev said
add_filter('rcl_content_user','get_role_user',1,2); function get_role_user($content_lk,$user_id){ $user_data = get_userdata( $user_id ); $roles = $user_data->roles; $role = array_shift($roles); if($role=='author'){ $content_lk .= 'Тут код рекламного блока'; } return $content_lk; }
Премного благодарен.
Думал дотумкаю как на основе ответа вывести блок с теми же условиями в сайдбар. Но немогу никак разобраться. Пожалуйста, подскажите.
UPD:
Пробовал прописать напрямую в сайдбаре следующее:
[code]
[/code]
Не получилось, текст выводится на всех страницах.Что-то я делаю не так.
Для начала вам надо будет проверить отображается ли страница ЛК. Для начала стоит проверить на наличие глобальную переменную $rcl_user_LK, если она присутствует, значит отображается ЛК пользователя, а в значении будет идентификатор хозяина ЛК:
global $rcl_user_LK; if($rcl_user_LK) echo get_role_user('',$rcl_user_LK));
dimro said
Андрей Plechev said
Вот вам код, пользуйтесь. Вставьте его в файл функций шаблона.
Спасибо большое! А скажите пожалуйста, как вывести не системное название роли (оно на английском и маленькими буквами) а то что Display Name?
Поставил плагин User Role Editor, чтобы название поменять. Вот скринВы не можете просматривать опубликованные ссылки
Здравствуйте!
Мне помог этот код. Вставляется в functions.php шаблона!
$result = add_role(
'Доктор',
__( 'Доктор' ),
array(
'read' => true, // true allows this capability
'edit_posts' => true,
'delete_posts' => true, // Use false to explicitly deny
)
);
if ( null !== $result ) {
echo '';
}
else {
echo '';
}
Здравствуйте.
Подниму тему.
Знает ли все таки кто нибудь, как модернизировать код Андрея, чтобы выводилось не ID роли на английском, а именно дисплей нейм.
add_filter('rcl_content_user','get_role_user',1,2);
function get_role_user($content_lk,$user_id){
$user_data = get_userdata( $user_id );
$roles = $user_data->roles;
$role = array_shift($roles);
$content_lk .= 'Роль пользователя: '.$role;
return $content_lk;
}
Спасибо.
Андрей Plechev сказал(а)
Вот вам код, пользуйтесь. Вставьте его в файл функций шаблона.
add_filter('rcl_content_user','get_role_user',1,2); function get_role_user($content_lk,$user_id){ $user_data = get_userdata( $user_id ); $roles = $user_data->roles; $role = array_shift($roles); $content_lk .= 'Роль пользователя: '.$role; return $content_lk; }
Я так понимаю API rcl_content_user теперь называется rcl_content_lk ???
add_filter('rcl_content_lk','get_role_user',1,2); function get_role_user($content_lk,$user_id){ $user_data = get_userdata( $user_id ); $roles = $user_data->roles; $role = array_shift($roles); $content_lk .= 'Роль пользователя: '.$role; return $content_lk; }