Как восстановить роль после ее удаления?
Доброго времени суток.
Вопрос, возможно ли востановить дефолтную (базовую) роль после remove_role()?
Например "author".
Доброго времени суток.
Вопрос, возможно ли востановить дефолтную (базовую) роль после remove_role()?
Например "author".
Роли и данные о них хранятся в опциях, при удалении они удаляются... См. опцию
get_option('wp_user_roles').Вариант восстановить роль - это запустить тот код который создал эту роль. Или скопировать настройки из дампа базы данных где эта роль еще есть...
В частности, вот пример, как можно восстановить базовую роль автора - author.
Во время установки WP, функция wp_install() вызывает функцию populate_roles(). Смотрим код: /wp-admin/includes/schema.php
Видим, как создается роль автора. Собираем все данные и запускаем ОДИН РАЗ полученный код:
add_role('author', 'Author'); // из populate_roles_160 $role = get_role('author'); $role->add_cap('upload_files'); $role->add_cap('edit_posts'); $role->add_cap('edit_published_posts'); $role->add_cap('publish_posts'); $role->add_cap('read'); $role->add_cap('level_2'); $role->add_cap('level_1'); $role->add_cap('level_0'); // из populate_roles_210 $role->add_cap('delete_posts'); $role->add_cap('delete_published_posts');Автор восстановлен!