• Использую BuddyPress, его формы входа и выхода на сайт, его профили и тд. Соответственно, я не хочу что бы пользователи видели админ панель и заходили в неё. И что бы вообще не могли как то узнать, что они находятся на сайте под управлением WordPress.

    И также, что бы при входе на сайт их не перенаправляло в админ панель, а что бы они оставались на странице сайта (к сожалению в виджете входа BuddyPress такой функции нету — перенаправления).

    Буду признателен за помощь.

    PS: У меня есть плагин «Global Hide Toolbar Bruteforce» который прячет верхнею панель от пользователей, но когда они заходят на сайт через форму входа BuddyPress, они всё равно попадаю в админ панель, что совсем не круто

Просмотр 10 ответов — с 1 по 10 (всего 10)
  • Код работает, но из за него к сожалению, никто кроме администратора не может менять аватары пользователей в плагине BuddyPress (я так понимаю что это из за того что пользователям запрещён полностью любой доступ к админке, вот и аватарам некуда грузится)
    Когда я со страницы пользователе попытался поменять аватар, мне выдало ошибку. Убрал код, всё стало нормально.

    Мне кажется тут лучше сработыл бы банальный редирект, что вы при входе и выходе пользователя с сайта, они оставались на главной странице, а не прыгали в админку или на страницу входа (отдельную, вордпресовскую).

    Что же делать?

    function logout_redirect(){
    wp_redirect( '/index.php' );
    exit();
    }
    add_action('wp_logout','logout_redirect');
    
    function login_redirect() {
    return '/index.php';
    }
    add_filter('login_redirect', 'login_redirect');

    Спасибо, работает.

    Ещё вопрос, вы мне до этого скидывали ссылку, там говорится как убрать админ панель для пользователей кодом, до этого она у меня убиралась плагином, но я думаю, что пускай лучше код чем плагин, так как наверно сайт меньше грузить будет.

    Так вот, я использовал этот код:

    //полное скрытие панели от всех кроме админов start
    function hide_toolbar() {
    ?>
    <style type="text/css">
        .show-admin-bar {
            display: none;
        }
    </style>
    <?php
    }
    function wph_disable_toolbar() {
       if (!current_user_can("administrator")) {
          add_filter('show_admin_bar', '__return_false');
          add_action('admin_print_scripts-profile.php', 'hide_toolbar');
       }
    }
    add_action('init', 'wph_disable_toolbar', 9);
    //полное скрытие панели от всех кроме админов end

    Но мне надо что бы верхняя панель была видна не только админам, но ещё и модераторам (редакторам). Как так сделать?

    И надо ли добавлять в код, эти строки?
    //полное скрытие панели от всех кроме админов start
    //полное скрытие панели от всех кроме админов end

    if (!current_user_can("administrator") or !current_user_can("editor") ) {

    так попробуйте.

    У меня пока модераторов нет на сайте, так что это уже будет проверенно на практике, позже. Если что, я сюда опять напишу.

    А как на счёт этого:
    «»»»»»»»И надо ли добавлять в код, эти строки?
    //полное скрытие панели от всех кроме админов start
    //полное скрытие панели от всех кроме админов end «»»»»»

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    И надо ли добавлять в код, эти строки?

    Это просто комментарии.

    А в вашем коде пробел надо убрать между последними скобками (закруглёнными)?

    да не, пробелы не важны.
    а комментарии можете убрать — но их лучше оставлять, так как спустя какое-то время вспомнить, что за код вы вставляли в functions.php и за что он отвечает довольно сложно.

    Спасибо за помощь!

Просмотр 10 ответов — с 1 по 10 (всего 10)

Тема «Как убрать админ панель для пользователей?» закрыта для новых ответов.