WordPress.org

Make WordPress Core

Ticket #19085: submenuasparent.19085.diff

File submenuasparent.19085.diff, 971 bytes (added by chrisguitarguy, 4 years ago)

Alternative take on filtering $submenu_as_parent

  • wp-admin/menu-header.php

    diff --git wp-admin/menu-header.php wp-admin/menu-header.php
    index db4123c..8050d35 100644
    function _wp_menu_output( $menu, $submenu, $submenu_as_parent = true ) { 
    141141
    142142                if ( $is_separator ) {
    143143                        echo '<div class="separator"></div>';
    144                 } elseif ( $submenu_as_parent && ! empty( $submenu_items ) ) {
     144                } elseif (
     145                        apply_filters( "submenu_as_parent_{$item[5]}", $submenu_as_parent, $item ) &&
     146                        ! empty( $submenu_items )
     147                ) {
    145148                        $submenu_items = array_values( $submenu_items );  // Re-index.
    146149                        $menu_hook = get_plugin_page_hook( $submenu_items[0][2], $item[2] );
    147150                        $menu_file = $submenu_items[0][2];
    function _wp_menu_output( $menu, $submenu, $submenu_as_parent = true ) { 
    250253
    251254<?php
    252255
    253 _wp_menu_output( $menu, $submenu );
     256_wp_menu_output( $menu, $submenu, apply_filters( 'submenu_as_parent', false ) );
    254257/**
    255258 * Fires after the admin menu has been output.
    256259 *