¿Quieres deshabilitar toda la lista de elementos del submenú del administrador de WordPress? Si bien probablemente haya un plugin para esto, hemos creado un fragmento de código rápido que puedes usar para eliminar todos los elementos del submenú del administrador en WordPress.
Instrucciones:
Todo lo que tienes que hacer es agregar este código al archivo functions.php de tu tema o a un plugin específico del sitio:
function remove_submenus() {
global $submenu;
//Dashboard menu
unset($submenu['index.php'][10]); // Removes Updates
//Posts menu
unset($submenu['edit.php'][5]); // Leads to listing of available posts to edit
unset($submenu['edit.php'][10]); // Add new post
unset($submenu['edit.php'][15]); // Remove categories
unset($submenu['edit.php'][16]); // Removes Post Tags
//Media Menu
unset($submenu['upload.php'][5]); // View the Media library
unset($submenu['upload.php'][10]); // Add to Media library
//Links Menu
unset($submenu['link-manager.php'][5]); // Link manager
unset($submenu['link-manager.php'][10]); // Add new link
unset($submenu['link-manager.php'][15]); // Link Categories
//Pages Menu
unset($submenu['edit.php?post_type=page'][5]); // The Pages listing
unset($submenu['edit.php?post_type=page'][10]); // Add New page
//Appearance Menu
unset($submenu['themes.php'][5]); // Removes 'Themes'
unset($submenu['themes.php'][7]); // Widgets
unset($submenu['themes.php'][15]); // Removes Theme Installer tab
//Plugins Menu
unset($submenu['plugins.php'][5]); // Plugin Manager
unset($submenu['plugins.php'][10]); // Add New Plugins
unset($submenu['plugins.php'][15]); // Plugin Editor
//Users Menu
unset($submenu['users.php'][5]); // Users list
unset($submenu['users.php'][10]); // Add new user
unset($submenu['users.php'][15]); // Edit your profile
//Tools Menu
unset($submenu['tools.php'][5]); // Tools area
unset($submenu['tools.php'][10]); // Import
unset($submenu['tools.php'][15]); // Export
unset($submenu['tools.php'][20]); // Upgrade plugins and core files
//Settings Menu
unset($submenu['options-general.php'][10]); // General Options
unset($submenu['options-general.php'][15]); // Writing
unset($submenu['options-general.php'][20]); // Reading
unset($submenu['options-general.php'][25]); // Discussion
unset($submenu['options-general.php'][30]); // Media
unset($submenu['options-general.php'][35]); // Privacy
unset($submenu['options-general.php'][40]); // Permalinks
unset($submenu['options-general.php'][45]); // Misc
}
add_action('admin_menu', 'remove_submenus');
Nota: Si es la primera vez que agregas fragmentos de código en WordPress, consulta nuestra guía sobre cómo copiar / pegar fragmentos de código correctamente en WordPress, para que no rompas accidentalmente tu sitio.
Si te gustó este fragmento de código, considera echar un vistazo a nuestros otros artículos en el sitio como: 30 formas de ganar dinero con blogs en línea y cómo agregar un portafolio a tu sitio de WordPress.
Imprimir formulario. Fabricación personalizada bajo pedido y prototipos rápidos / Fabricación aditiva. Materiales plásticos y metálicos. Cualquier cantidad.
¿Hay alguna forma de eliminar elementos según el rol del usuario?
Necesitaba eliminar un subpanel específico y no pude encontrar una manera de acceder a los submenús. Muchas gracias por este script.
unset($GLOBALS[‘submenu’]);
Quiero eliminar "Mis Sitios" que solo se encuentra en WPMU pero no está en la lista proporcionada. Es parte del menú de index.php pero no sé el número ni dónde encontrarlo, así que estoy atascado en...
unset($submenu[‘index.php’][??]); // Elimina Mis Sitios
Gracias Kevin.
¿Es posible eliminar este submenú?
– Apariencia –> Barras laterales
– Apariencia –> Editor
Gracias Kevin. Lo intento... pero no cambia nada:
// Elimina todos los elementos del submenú de administración function remove_submenus() { global $current_user; get_currentuserinfo(); // cambia los usuarios en la lista $users = array( “Usuario aquí”, ); if (!in_array($current_user->user_login, $users)) {
unset($submenu[‘index.php’][10]); // Elimina Actualizaciones unset($submenu[‘edit.php?post_type=page’][10]); // Añadir nueva página
} } add_action(‘admin_menu’, ‘remove_submenus’);
Kevin, ¿es posible eliminar algunos elementos del submenú basándose solo en el nombre de usuario?
Podrías hacerlo de varias maneras, por ejemplo: basándote en el rol del usuario.
if ( !current_user_can(‘author’)) {
unset($submenu[‘index.php’][10]); // Elimina Actualizaciones
}
o el nombre de usuario
global $current_user;
get_currentuserinfo();
// cambia los usuarios en la lista
$users = array(
“ryan”,
“steven”,
“larry”,
“jerry”
);
if (!in_array($current_user->user_login, $users)) {
unset($submenu[‘index.php’][10]); // Elimina Actualizaciones
}
algo como esto debería funcionar bien para ti, estos por supuesto deberían ir dentro de la función.
¡Gracias!
Pero, ¿cómo eliminar el submenú de configuración del plugin?
Por ejemplo; Tengo un submenú del plugin “All in one favicon” que quiero eliminar.
Saludos.
Me encontré con esto, muy útil hacerlo sin plugins. ¡Gracias!
¡Genial, me alegra saber que te gusta el fragmento! Disfruta el resto del sitio,