unofficialmatt
6/4/2019 - 7:15 PM

Remove Wordpress Menu Pages

Removes pages from the Wordpress Admin Area (eg. Posts, Tools). For docs see https://codex.wordpress.org/Function_Reference/remove_menu_page and https://codex.wordpress.org/Function_Reference/remove_node

<?php

/* Remove pages from Admin Sidebar */

function remove_menus() {
	remove_menu_page( 'index.php' );                  //Dashboard
	remove_menu_page( 'jetpack' );                    //Jetpack* 
	remove_menu_page( 'edit.php' );                   //Posts
	remove_menu_page( 'upload.php' );                 //Media
	remove_menu_page( 'edit.php?post_type=page' );    //Pages
	remove_menu_page( 'edit-comments.php' );          //Comments
	remove_menu_page( 'themes.php' );                 //Appearance
	remove_menu_page( 'plugins.php' );                //Plugins
	remove_menu_page( 'users.php' );                  //Users
	remove_menu_page( 'tools.php' );                  //Tools
	remove_menu_page( 'options-general.php' );        //Settings
}
add_action( 'admin_menu', 'remove_menus' );

// (*) Better to add this priority if dealing with jetpack menu: add_action( 'admin_menu', 'remove_menus', 999 );

/* Remove functions from Admin Toolbar */

add_action( 'admin_bar_menu', 'remove_wp_nodes', 999 );

function remove_wp_nodes($wp_admin_bar) 
{
    $wp_admin_bar->remove_node( 'comments' ); // Comments
    $wp_admin_bar->remove_node( 'new-post' ); // Posts
}

?>