remove_submenu_page() WP 3.1.0

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

Хуків немає.

Повертає

Массив|false. false якщо не вдалося знайти та видалити вказаний пункт меню.

Використання

remove_submenu_page($menu_slug, $submenu_slug);
$menu_slug
(рядок) (обов’язковий)
Назву пункту меню, підпункт якого потрібно видалити. Зазвичай це назва php файлу, що відповідає за відображення сторінки (див. його в адресному рядку браузера).
$submenu_slug
(рядок) (обов’язковий)
Назву підпункту меню, який потрібно видалити. Зазвичай це назва php файлу, що відповідає за відображення сторінки (див. його в адресному рядку браузера). Вказувати потрібно замість параметрів запиту і в url_encode().

Приклади

0

#1 Видалимо сторінку посилання на сторінку Параметры->Постоянные ссылки:

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

Так як функція додана у версії 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');
	}
	// WP нижче 3.1
	else {
		unset( $GLOBALS['submenu']['options-general.php'][25] );
	}
}

У цьому прикладі ми видалили підпункт “Обговорення” в меню налаштувань:

0

#2 Масив підпунктів меню

Елементи з цього масиву потрібно вказувати у цій функції:

$menu_slug – ключ масиву.
$ submenu_slug – третій елемент масиву.

Array (
	[index.php] => Array
			[0] => Array
					[0] => Головна
					[1] => read
					[2] => index.php

			[10] => Array
					[0] => Оновлення <span class='update-plugins count-0'><span class='update-count'>0</span></span>
					[1] => update_core
					[2] => update-core.php

	[upload.php] => Array
			[5] => Array
					[0] => Бібліотека
					[1] => upload_files
					[2] => upload.php

			[10] => Array
					[0] => Додати новий
					[1] => upload_files
					[2] => media-new.php

	[edit-comments.php] => Array
			[0] => Array
					[0] => Усі коментарі
					[1] => edit_posts
					[2] => edit-comments.php

	[edit.php] => Array
			[5] => Array
					[0] => Всі посади
					[1] => edit_posts
					[2] => edit.php

			[10] => Array
					[0] => Додати пост
					[1] => edit_posts
					[2] => post-new.php

			[15] => Array
					[0] => Рубрики
					[1] => manage_categories
					[2] => edit-tags.php?taxonomy=category

			[16] => Array
					[0] => Мітки
					[1] => manage_post_tags
					[2] => edit-tags.php?taxonomy=post_tag

	[edit.php?post_type=page] => Array
			[5] => Array
					[0] => Всі сторінки
					[1] => edit_pages
					[2] => edit.php?post_type=page

			[10] => Array
					[0] => Додати новий
					[1] => edit_pages
					[2] => post-new.php?post_type=page

	[themes.php] => Array
			[5] => Array
					[0] => Теми
					[1] => switch_themes
					[2] => themes.php

			[6] => Array
					[0] => Налаштувати
					[1] => customize
					[2] => customize.php?return=%2Fwp-admin%2F
					[3] =>
					[4] => hide-if-no-customize

			[7] => Array
					[0] => Віджети
					[1] => edit_theme_options
					[2] => widgets.php

			[10] => Array
					[0] => Меню
					[1] => edit_theme_options
					[2] => nav-menus.php

	[plugins.php] => Array
			[5] => Array
					[0] => Встановлені
					[1] => activate_plugins
					[2] => plugins.php

			[10] => Array
					[0] => Додати новий
					[1] => install_plugins
					[2] => plugin-install.php

	[users.php] => Array
			[5] => Array
					[0] => Всі користувачі
					[1] => list_users
					[2] => users.php

			[10] => Array
					[0] => Додати нового
					[1] => create_users
					[2] => user-new.php

			[15] => Array
					[0] => Ваш профіль
					[1] => read
					[2] => profile.php

	[tools.php] => Array
			[5] => Array
					[0] => Всі інструменти
					[1] => edit_posts
					[2] => tools.php

			[10] => Array
					[0] => Імпорт
					[1] => import
					[2] => import.php

			[15] => Array
					[0] => Експорт
					[1] => export
					[2] => export.php

	[options-general.php] => Array
			[10] => Array
					[0] => Загальні
					[1] => manage_options
					[2] => options-general.php

			[15] => Array
					[0] => Написання
					[1] => manage_options
					[2] => options-writing.php

			[20] => Array
					[0] => Читання
					[1] => manage_options
					[2] => options-reading.php

			[30] => Array
					[0] => Медіафайли
					[1] => manage_options
					[2] => options-media.php

			[40] => Array
					[0] => Постійні посилання
					[1] => manage_options
					[2] => options-permalink.php

			[45] => Array
					[0] => Конфіденційність
					[1] => manage_privacy_options
					[2] => privacy.php
)

нотатки

  • Global. Масив. $submenu

список змін

З версії 3.1.0Введено.

Код remove_submenu_page() WP 6.0.2

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;
}

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *