WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru

Удаление пунктов меню в админке WordPress

При создании блога целесообразно запретить доступ к определенным функциям. Таким образом удастся избежать многих проблем, включая случайное удаление основной темы. Для этого необходимо внедрить код в имеющийся файл темы functions.php. Следует добавить, что такое удаление пунктов меню не запрещает прямой доступ к ним (доступ по ссылке), а всего лишь визуально убирает пункты меню:

add_action('admin_menu', 'remove_menus');
function remove_menus(){
	global $menu;
	$restricted = array(
		__('Dashboard'),
		__('Posts'),
		__('Media'),
		__('Links'),
		__('Pages'),
		__('Appearance'),
		__('Tools'),
		__('Users'),
		__('Settings'),
		__('Comments'),
		__('Plugins')
	);
	end ($menu);
	while (prev($menu)){
		$value = explode(' ', $menu[key($menu)][0]);
		if( in_array( ($value[0] != NULL ? $value[0] : "") , $restricted ) ){
			unset($menu[key($menu)]);
		}
	}
}

Нужно пояснить что:

  • __('Dashboard') — главная страница админки (консоль);
  • __('Posts') — пункт меню "Записи";
  • __('Media') — пункт меню "Медиафайлы" (картинки, видео и т.п.);
  • __('Links') — никому не нужный, пункт меню "Ссылки";
  • __('Pages') — пункт меню "Страницы";
  • __('Appearance') — пункт меню "Внешний вид";
  • __('Tools') — пункт меню "инструменты" — это где всякие там: "импорт", "экспорт";
  • __('Users') — пользователи;
  • __('Settings') — пункт меню "Настройки". Его очень даже можно закрыть для клиентов, а то они настроят ...;
  • __('Comments') — комментарии;
  • __('Plugins') — ну и наконец, святое: пункт меню "Плагины".

Также, существует специальная функция WP для удаления пунктов меню и подменю: remove_menu_page() и remove_submenu_page().

Комментариев нет