Все о WordPress: плагины, шаблоны, темы и настройка

Как удалить ненужные пункты меню в админ-панели WordPress

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

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

Пример удаления пункта меню "ссылки" в админ-панели ВП:

function remove_menus () {
global $menu;
	$restricted = array(__('Links'));
	end ($menu);
	while (prev($menu)){
		$value = explode(' ',$menu[key($menu)][0]);
		if(in_array($value[0] != NULL?$value[0]:"" , $restricted)){unset($menu[key($menu)]);}
	}
}
add_action('admin_menu', 'remove_menus');

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

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

Так, изменяя переменную $restricted, можно удалить хоть все пункты меню.

Вот весь список названий пунктов меню:

$restricted = array( 
	__('Dashboard'), 
	__('Posts'), 
	__('Media'), 
	__('Links'),
	__('Pages'), 
	__('Appearance'),
	__('Tools'), 
	__('Users'), 
	__('Settings'), 
	__('Comments'), 
	__('Plugins') 
);
Рубрика: Настройка WordPress | 30 June 2011

Предыдущие записи из рубрики `Настройка WordPress`

11 комментариев

ct, 30.06.2011 в 12:07

или можно так:

add_action('admin_menu', 'fb_menu');
function fb_menu() {
  remove_menu_page('link-manager.php');
  remove_menu_page('tools.php');	
  remove_menu_page('edit-comments.php');	
}
ReplyReply
kama, 30.06.2011 в 16:36

ct, спасибо, не знал про эту функцию. Она, кстати, появилась в версии 3.1.0, для более ранних версий материал этой статьи - самое то.

ReplyReply
zenith, 30.06.2011 в 18:13

Это первый пост за последний год

Дай бог не последний :)

ReplyReply
ig0r74, 01.07.2011 в 09:08

Шикарно, как раз сейчас занимаюсь клиентским сайтом, раньше убирал ненужные пункты с помощью плагина.

ReplyReply
юрий, 04.07.2011 в 01:16

спасибо. а то стоит лишнее

ReplyReply
Артем, 14.07.2011 в 17:39

Скрыть хорошо, а как добавить произвольный пункт меню или подменю? Буду благодарен за ответ.

ReplyReply
Serg, 22.07.2011 в 14:15

Хорошая вещь, только скрытие пунктов не запрещает юзеру напрямую получить доступ к этим функциям ;)

И пару вопросов
1. Как это сделать в зависимости от роли юзера.
Я, разрабатывая сайт (админ) хочу видеть всё, а юзеру (редактор) всё не нужно. Конечно большинство запретов решается плагами типа role manager но всё равно остаются пункты (от плагов, например) которые не нужно показывать клиенту.

2. Нужно скрыть не полностью раздел меню, а только несколько пунктов. Например из параметров не показывать пермалинки и индексацию. Как это сделать?

ReplyReply
kama, 22.07.2011 в 18:37

Serg, точно не знаю. Вроде можно для этого заюзать проверку уровня пользователя:

if( current_user_can('edit_post') )
     // что-то делаем

или использовать глобальную переменную $user_level:

global $user_level;
if( $user_level<=3 )
    // делаем что-то

Про уровни читаем тут (англ).

ReplyReply
Dmitriy, 28.07.2011 в 21:08

Спасибо статья очень помогла. А то совсем с рубриками запарился.

ReplyReply
Сергей, 24.09.2011 в 11:18

Спасибо огромное.
Давно искал. Перелопатил в интернете кучу сайтов и наконец нашел именно то, что искал.
С уважением, Сергей

ReplyReply

Оставить ответ

  • Спектакли с безруковым

    Бестолочь спектакль: спектакли с безруковым. Сайт об актере Сергее Безрукове.

    www.vip-kassir.ru

  • Portaprima.ru

    Межкомнатные двери цены, шпонированные двери межкомнатные portaprima.ru.

    www.portaprima.ru