Intereting Posts
boostrap на wp-admin backend через установку плагина Как правильно отображать slug категории как класс? Встраивание PHP в shortcode $ content Плагин для встраивания локального видео в WordPress? Пользовательский список выбора товаров Woocommerce (без изменений) Связывание комментариев зарегистрированных пользователей с их страницами профиля Как показать дочерний пост на родительском посту с эскизом и контентом в WordPress Показывать дату регистрации пользователя $ wp_styles-> зарегистрировано без предоставления ВСЕХ стилей? Как получить заголовок прикрепления (get_the_excerpt дает родительский отрывок)? Как добавить супер администратора ко всем сайтам Next_posts_link () показывает мне дополнительную страницу в пустом поле Индикатор подменю, который ссылается на подменю Функция изменения в отзывчивой теме Ограничение posts_join, где и т. Д. Для конкретного объекта WP_Query?

Удаление основной ссылки на Jetpack из меню

Мне нужно удалить ссылку на настройки Jetpack, но не ссылки на Omnisearch и статистику сайта из меню администратора для всех, у кого нет роли администратора:

введите описание изображения здесь

Для этого я придумал этот код:

function remove_posts_menu() { if (!current_user_can('administrator')) { remove_submenu_page('admin.php?page=jetpack', 'admin.php?page=jetpack'); } } add_action('admin_init', 'remove_posts_menu'); 

( Ссылка для функции remove_submenu_page() )

Однако это не работает. Я проверил, что функция вызывается, и поэтому добавив remove_submenu_page('tools.php', 'tools.php'); – когда это добавлено к функции, сразу после удаления ссылки настроек Jetpack ссылка Tools удаляется, но ссылка Broken Link Checker (плагина, который я установил) все еще видна.

Каков правильный способ удаления ссылки Jetpack?

Solutions Collecting From Web of "Удаление основной ссылки на Jetpack из меню"

Попробуйте это вместо этого:

 function remove_posts_menu() { if ( ! current_user_can( 'manage_options' ) ) remove_submenu_page( 'jetpack', 'jetpack' ); } add_action( 'admin_init', 'remove_posts_menu' ); 

где slug меню и подменю slugjetpack .

Меню Jetpack добавлено довольно поздно , поэтому вам нужно будет изменить приоритет по умолчанию, чтобы удалить его чуть позже (приоритет 999), например:

 function jetpackme_remove_jetpack_menu() { if ( ! current_user_can( 'manage_options' ) ) { remove_submenu_page( 'jetpack', 'jetpack' ); } } add_action ( 'admin_menu', 'jetpackme_remove_jetpack_menu', 999 ); 
 function remove_menus(){ if ( ! current_user_can( 'administrator' ) ) { remove_menu_page( 'jetpack' ); } } add_action( 'admin_menu', 'remove_menus', 999 ); 

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