Сброс ролей и прав доступа по умолчанию

4 июл. 2013 г., 00:07:17
Просмотры: 22.4K
Голосов: 15

У меня возникли сложности с добавлением прав доступа для пользовательских типов записей к ролям (Добавление прав доступа к ролям по умолчанию) и я подозреваю, что мои манипуляции могли вызвать некоторые проблемы. Я также устанавливал и удалял различные плагины, некоторые из которых добавляли свои права доступа. В результате мой объект WP Role находится в беспорядке. Кто-нибудь знает способ сбросить права доступа или мне нужна новая установка WordPress?

0
Все ответы на вопрос 3
2
30

Если вы не хотите устанавливать плагин только для выполнения этой задачи, вы можете напрямую вызвать функцию WordPress для пересоздания ролей и их возможностей.

if ( !function_exists( 'populate_roles' ) ) {
  require_once( ABSPATH . 'wp-admin/includes/schema.php' );
}

populate_roles();
24 июн. 2016 г. 22:23:30
Комментарии

Спасибо! Сработало отлично, хотя было сложно найти.

Kevin Mamaqi Kevin Mamaqi
10 янв. 2020 г. 20:31:04

Это самое простое и надежное решение, которое восстанавливает все стандартные роли и права в соответствии с подходом WordPress. Этот ответ должен быть отмечен как правильный. Большое спасибо.

pixelngrain pixelngrain
24 мая 2020 г. 07:13:38
0

Я нашел более простой способ сброса ролей и связанных с ними возможностей — использовать wp-cli.

В wp-cli есть встроенный метод для сброса ролей. Вы можете указать те роли, которые хотите сбросить. Например:

wp role reset author contributor editor subscriber

Также есть флаг --all, который можно использовать следующим образом:

wp role reset --all

Предупреждение: это также сбросит возможности администратора, что может ограничить доступ к некоторым плагинам, поэтому используйте с осторожностью.

27 авг. 2021 г. 15:38:51
12

Я использую плагин User Role Editor. Вы можете удалять добавленные роли и сбрасывать роли на странице плагина.

Чтобы сбросить роль администратора, начиная с версии WP 3.4+, вы можете добавить

define('URE_SHOW_ADMIN_ROLE', 1);

в ваш файл wp-config.php. После этого необходимо перейти в раздел Пользователи > Редактор ролей пользователей и нажать кнопку "Сбросить".

4 июл. 2013 г. 00:15:54
Комментарии

Можно ли его использовать, а затем удалить?

mantis mantis
4 июл. 2013 г. 00:20:08

Да, поскольку вы просто сбрасываете роли обратно в исходное состояние, не должно возникнуть проблем с удалением плагина.

livearoha livearoha
4 июл. 2013 г. 00:31:50

Хорошо, тогда попробую.

mantis mantis
4 июл. 2013 г. 00:34:31

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

livearoha livearoha
4 июл. 2013 г. 00:39:26

К сожалению, он не смог сбросить администратора, а именно его я и хотел сбросить.

mantis mantis
4 июл. 2013 г. 00:42:51

Если у вас WordPress версии 3.4 или выше, вы можете добавить следующую строку в файл wp-config.php

define('URE_SHOW_ADMIN_ROLE', 1);
livearoha livearoha
4 июл. 2013 г. 00:47:50

Я попробовал это. Просто добавить и сохранить? Я сделал print_r(get_role( 'administrator' )); и все мои пользовательские возможности все еще на месте, как и те, которые были добавлены различными плагинами.

mantis mantis
4 июл. 2013 г. 01:11:24

После добавления URE_SHOW_ADMIN_ROLE вам нужно перейти в Пользователи > Редактор ролей и нажать "Сбросить"

livearoha livearoha
4 июл. 2013 г. 04:58:43

Отлично. Спасибо. Это не решило мою проблему, но, по крайней мере, я могу исключить этот вариант.

mantis mantis
4 июл. 2013 г. 10:36:57

@mantis Пожалуйста, не редактируйте чужие сообщения, чтобы добавлять дополнительную информацию. Пожалуйста, ознакомьтесь с http://wordpress.stackexchange.com/help/editing

shea shea
4 июл. 2013 г. 10:49:04

Хорошо, извините, я попытался отменить правку, но мне это не разрешили.

mantis mantis
4 июл. 2013 г. 10:52:45

@bungeshea Пункт 3 раздела "Когда следует редактировать сообщения?" (на той самой странице, которую вы указали) гласит: "Чтобы включить дополнительную информацию, найденную в комментариях, чтобы вся релевантная информация содержалась в одном месте" --> Именно это и сделал пользователь mantis. Почему это недопустимо?

Johannes Pille Johannes Pille
4 июл. 2013 г. 11:26:51
Показать остальные 7 комментариев