WordPress как на ладони

remove_menu_page()WP 3.1.0

Удаляет пункты меню верхнего уровня (записи, медиафайлы, страницы) в админ-панели.

Удаляет пункты меню только визуально, т.е. удаление пунктов меню таким образом не предотвращает от доступа к этим пунктам напрямую (например, для доступа можно ввести соответствующую ссылку в браузере). Такое удаление требует контроля доступа пользователя, несмотря на то, что в меню пунктов нет.

Эту функцию нужно вызывать на хуке admin_menu.

Чтобы удалить подменю главного меню, используйте функцию remove_submenu_page().

Хуков нет.

Возвращает

Массив|false. Удаляет меню в случае успеха и возвращает данные удаленного меню в виде массива. false, если удалить не удалось.

Использование

remove_menu_page( $menu_slug );
$menu_slug(строка) (обязательный)
Название меню. Обычно этим названием является название PHP файла, который отвечает за вывод меню, например upload.php.

Примеры

0

#1 Удалим из меню различные разделы (пункты)

add_action( 'admin_menu', 'remove_menus' );
function remove_menus(){

	remove_menu_page( 'index.php' );                  // Консоль
	remove_menu_page( 'edit.php' );                   // Записи
	remove_menu_page( 'upload.php' );                 // Медиафайлы
	remove_menu_page( 'edit.php?post_type=page' );    // Страницы
	remove_menu_page( 'edit-comments.php' );          // Комментарии
	remove_menu_page( 'themes.php' );                 // Внешний вид
	remove_menu_page( 'plugins.php' );                // Плагины
	remove_menu_page( 'users.php' );                  // Пользователи
	remove_menu_page( 'tools.php' );                  // Инструменты
	remove_menu_page( 'options-general.php' );        // Параметры

}

Заметки

  • Global. Массив. $menu

Список изменений

С версии 3.1.0 Введена.

Код remove_menu_page() WP 6.5.2

function remove_menu_page( $menu_slug ) {
	global $menu;

	foreach ( $menu as $i => $item ) {
		if ( $menu_slug === $item[2] ) {
			unset( $menu[ $i ] );
			return $item;
		}
	}

	return false;
}
14 комментариев
Полезные 1 Все
    Войти