How to design WooCommerce-like admin tabs for plugin settings page?

I’ve figured it out how to do it on my custom admin page. You can use default wordpress classes and get variable trickery like so: <?php if( isset( $_GET[ ‘tab’ ] ) ) { $active_tab = $_GET[ ‘tab’ ]; } // end if ?> <h2 class=”nav-tab-wrapper”> <a href=”https://wordpress.stackexchange.com/questions/350785/?page=sandbox_theme_options&tab=display_options” class=”nav-tab <?php echo $active_tab == ‘display_options’ ? … Read more

How to unset adminmenu completely?

I don’t think you can remove it globally, maybe with traversing the global $menu array. But you can unset each individually: add_action( ‘admin_menu’, ‘Wps_remove_tools’, 99 ); function Wps_remove_tools(){ remove_menu_page( ‘index.php’ ); //dashboard remove_menu_page( ‘edit.php’ ); //posts remove_menu_page( ‘upload.php’ ); //media remove_menu_page( ‘link-manager.php’ ); //links remove_menu_page( ‘edit.php?post_type=page’ ); //page remove_menu_page( ‘edit-comments.php’ ); //comments remove_menu_page( ‘themes.php’ ); … Read more

Admin menu links just refresh the page

Sounds to me like the hooked function that calls the page file itself is the same for all five uses of add_submenu_page(). Hard to tell without the code. <?php add_submenu_page( $parent_slug, $page_title, $menu_title, $capability, $menu_slug, $function ); ?> The $function variable should be different for all five uses meaning you need another four function or … Read more

How to let the role “editor” to control the menu?

Add this to your functions.php // Allow editors to see Appearance menu $role_object = get_role( ‘editor’ ); $role_object->add_cap( ‘edit_theme_options’ ); function hide_menu() {       // Hide theme selection page     remove_submenu_page( ‘themes.php’, ‘themes.php’ );       // Hide widgets page     remove_submenu_page( ‘themes.php’, ‘widgets.php’ );       // Hide customize page     global $submenu;     unset($submenu[‘themes.php’][6]);   }   add_action(‘admin_head’, ‘hide_menu’); … Read more

How can I style my theme admin page?

In your construct function you also need to enqueue a custom stylesheet that will house the CSS to style up your theme options. A simplified example would look like this: function admin_style() { wp_enqueue_style( ‘theme-options-style’, get_template_directory_uri().’styles/theme-options-style.css’); } add_action(‘admin_enqueue_scripts’, ‘admin_style’);