2015-10-07 3 views
0

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

function disable_page_editing() { 
    $roles = array('administrator'); 
    foreach ($roles as $role) { 
     $role =& get_role($role); 

     $role->remove_cap('admin', 'edit_others_pages'); 
     $role->remove_cap('admin','edit_published_pages'); 
     $role->remove_cap('admin','publish_pages'); 
     $role->remove_cap('admin','delete_pages'); 
} 
} 
add_action('admin_init', 'disable_page_editing'); 

Источник: http://shinephp.com/delete-posts-and-pages-wordpress-user-capabilities-set/

ответ

0

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

https://wordpress.org/plugins/user-role-editor/

+0

Откровенно говоря, я использовал этот плагин и он работал отлично. Однако, почему он не отключает публикацию/редактирование страниц для администраторов на подсайтах. Я пробовал все, даже удалил все привилегии администратора, сняв все настройки (и применяя ко всем сайтам), кроме «читать», но все же мог опубликовать страницу. Не знаю, где я там ошибся. – KBD

+0

Хмм, я не тестировал этот случай, однако вы уверены, что не были зарегистрированы в качестве администратора Super, когда вы тестировали на подсайте? – Mohsin

 Смежные вопросы

  • Нет связанных вопросов^_^