Make WordPress Core


Ignore:
Timestamp:
10/07/2022 08:46:39 PM (3 years ago)
Author:
westonruter
Message:

Customize: Prevent PHP notice in Customizer when using block theme.

Use the customize_panel_active filter to deactivate the Menus panel instead of overriding the check_capabilities method. This ensures the panel remains registered but is still hidden.

See #54888.
Fixes #54905.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-includes/theme.php

    r54176 r54419  
    42584258
    42594259    add_filter( 'should_load_separate_core_block_assets', '__return_true' );
    4260 }
     4260
     4261    /*
     4262     * Remove the Customizer's Menus panel when block theme is active.
     4263     */
     4264    add_filter(
     4265        'customize_panel_active',
     4266        static function ( $active, WP_Customize_Panel $panel ) {
     4267            if (
     4268                'nav_menus' === $panel->id &&
     4269                ! current_theme_supports( 'menus' ) &&
     4270                ! current_theme_supports( 'widgets' )
     4271            ) {
     4272                $active = false;
     4273            }
     4274            return $active;
     4275        },
     4276        10,
     4277        2
     4278    );
     4279}
Note: See TracChangeset for help on using the changeset viewer.