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

remove_submenu_page() WP 3.1.0

Удаляет подпункт пункта меню в админ-панели WordPress. Например, Параметры->Постоянные ссылки.

Хуков нет.

Возвращает

false если не удалось найти и удалить указанный пункт меню.

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

<?php remove_submenu_page( $menu_slug, $submenu_slug ) ?>
$menu_slug(строка) (обязательный)
Название пункта меню, подпункт которого нужно удалить. Обычно это название php файла отвечающего за отображение страницы (см. его в адресной строке браузера).
По умолчанию: нет
$submenu_slug(строка) (обязательный)
Название подпункта меню, который нужно удалить.
По умолчанию: нет

Примеры

#1. Удалим страницу ссылку на страницу Параметры->Постоянные ссылки:

remove_submenu_page( 'options-general.php', 'options-permalink.php' );

#2. Так как функция добавлена в версии 3.1, возможно, что нам понадобится совместимость с более ранними версиями ВП, организовать её можно таким образом, добавив код в function.php:

add_action( 'admin_menu', 'my_remove_menu_pages' );
function my_remove_menu_pages() {
	// для версий WP 3.1 и выше
	if ( function_exists('remove_menu_page') ) {
		remove_submenu_page( 'options-general.php', 'options-discussion.php' );
	} else {
		// для версий WP ниже 3.1
		unset( $GLOBALS['submenu']['options-general.php'][25] );
	}
}

В данном примере мы удалили подпункт "Обсуждение" в меню настроек:

Код remove submenu page: wp-admin/includes/plugin.php WP 4.8.2

<?php
function remove_submenu_page( $menu_slug, $submenu_slug ) {
	global $submenu;

	if ( !isset( $submenu[$menu_slug] ) )
		return false;

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

	return false;
}

Cвязанные функции

Из метки: Минимизация движка

Еще из метки: Меню администрирования (admin menu)

Еще из раздела: Админ-панель

Раклама сайта www.seop.ru

раклама сайта www.seop.ru

www.seop.ru

remove_submenu_page 2 комментария
  • campusboy1837 cайт: wp-plus.ru

    Создал свою страничку в админке с настройками, адрес к сабстранице такой
    /wp-admin/admin.php?page=dop_theme_settings
    Пробую прописать так:
    remove_submenu_page( 'admin.php', 'dop_theme_settings' );
    Не удаляется. Как скрывать такие пункты?
    Так иногда делают плагины. Поставил галочку "Отображать настройки безопасности", сохранил и опачки - появляется новая вкладка "Безопасность". Или там просто через условие, что если активирована настройка, то зарегистрировать сабменю? Скорее всего так. Но я вот хочу сделать "секретное сабменю", экспериментирую.

    Ответить2.2 года назад #
    • Kama4489

      Плагины регистрируют меню если есть галочка.

      Зарегить но не показывать страницу в меню можно. Для этого нужно указать первый параметр $parent_slug = null при регистрации страницы, в функции add_submenu_page()

      1
      Ответить2.1 года назад #

Здравствуйте, !

Ваш комментарий