Тестирование remove_cap, remove_menu_page: все еще работает, даже если я комментирую или удаляю код - PullRequest
0 голосов
/ 02 сентября 2018

Я работаю над WordPress. Я проверил функции "remove_cap", чтобы увидеть, что он сделал.

function modif_cap_client() {
$role=get_role('editor');
$role->remove_cap('edit_pages');    
}

Затем я протестировал функцию «remove_menu_page», чтобы элемент «страница» не был доступен пользователю в администрации. Я сделал это в functions.php темы фронт-офиса (возможно, это неправильно)

function remove_menu_items() {
    remove_menu_page('index.php');
    remove_menu_page('separator1'); 
    remove_menu_page('upload.php');
}
add_action('admin_menu', 'remove_menu_items');

Это сработало. Затем я прокомментировал этот код, удалил его из файла functions.php, но ничего не поделать: элемент страницы больше не отображается. Когда я хочу щелкнуть ссылку на страницу (с домашней страницы администрации), она упоминает «у вас нет прав на добавление содержимого», хотя я нахожусь в профиле администратора.

Я не знаю, что делать, чтобы решить эту проблему. Может быть, эти функции что-то изменяют в базе данных, но что?

Спасибо за вашу помощь.

1 Ответ

0 голосов
/ 02 сентября 2018

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

function modify_cap_client() {
    $role = get_role('editor');
    $role->add_cap('edit_pages');    
}
add_action( 'admin_init', 'modify_cap_client');

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

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