5ответ(ов) в теме
Андрей, добрый вечер.
Такой вопрос, а можно как то сделать определенную кнопку в лк (если создавать свое дополнение) доступной только для администратора?
Вот, например, создаю я кнопку, пытаясь сделать условие, что пользователь имеет роль "администратор" (пробовал по разному, ничего не получается):
function get_wprecall_short_button($button,$author_lk){ $user_data = get_userdata( $id ); $roles = $user_data->roles; $role = array_shift($roles); global $user_ID,$rcl_options; if($user_ID!=$author_lk) and ($role = 'administrator') return $button; if(!$button) $status = 'active'; $button .= ' <a href="#" id="myform" class="block_button '.$status.'">Тестовая кнопка</a> '; return $button; }
Получается условие, что если пользователь - хозяин личного кабинета, и его роль администратор, то кнопка выводится. Но при таком варианте сайт ложится сразу. Пробовал запихивать условие в отдельный if - тоже самое.
Что я делаю не правильно?
У вас идет неверное определение роли, тк вы не передаете туда идентификатор текущего пользователя.
Это верная функция:
function get_wprecall_short_button($button,$author_lk){ global $user_ID,$rcl_options; $user_data = get_userdata( $user_ID ); $roles = $user_data->roles; $role = array_shift($roles); if($user_ID != $author_lk || $role != 'administrator') return $button; if(!$button) $status = 'active'; $button .= ' <a href="#" id="myform" class="block_button '.$status.'">Тестовая кнопка</a> '; return $button; }
Тема закрыта. Публикация новых сообщений запрещена.