Как должен выглядит запрос wp-admin/users.php?role= для «Для этого сайта нет роли»

В админке есть выбор по пользователям: Все / Администратор / MyProf и т.д. они имеют такой запрос соответственно:
wp-admin/users.php
wp-admin/users.php?role=administrator
wp-admin/users.php?role=myprof

Но у меня есть пользователи: «Для этого сайта нет роли»
Это типа черного списка. Вот как должен выглядит запрос wp-admin/users.php?role=
Подскажите пожалуйста.

nail
Оцените автора
Добавить комментарий

  1. Sergey Biryukov

    А как пользователи попадают в этот чёрный список?

    Насколько я понимаю, у вас установлен плагин для управления ролями? В этом случае можно создать роль типа blacklist, и запрос будет выглядеть так:
    wp-admin/users.php?role=blacklist

    Ответить
    1. nail автор

      У меня была графа «Нет роли на этом сайте» в принципе тоже самое что и создать blacklist, но я создал так удобней оказывается) Остается одна проблема, пользователь все равно заходит на сайт и может оставлять Комменты как зарегистрированный.. Может можно как то способность для написания комментов, и потом для blacklist ее убрать?

      Ответить
      1. Каким плагином вы создаете роль blacklist? Если с помощью WordPress Role Manager, то в нем можно запретить написание комментариев.

        Ответить
        1. nail автор

          Да им а как это сделать? Там еще можно создать способность, но не понятно что она делает. Создание заключается в написании названия способности и все. А дальше что она делает..непонятно. Может у вас есть статья по этому плагину на русском, очень полезно было бы)

          Ответить
          1. Попробуйте плагин User Role Editor — он проще и понятнее.

            Ответить
            1. nail автор

              и все же расскажите лучше как запретить комментировать в Role Manager

              Ответить
              1. Sergey Biryukov

                Можно добавить фрагмент в functions.php активной темы:

                function disallow_comments_for_blacklisted_users() {
                	global $user, $wpdb;
                
                	if ( !empty($user) ) {
                		$capabilities = $user->{$wpdb->prefix . 'capabilities'};
                
                		if ( !empty($capabilities['blacklist']) )
                			wp_die('Вам не разрешено оставлять комментарии на этом сайте.');
                	}
                }
                add_action('wp_blacklist_check', 'disallow_comments_for_blacklisted_users');
                
                Ответить