Make WordPress Core


Ignore:
Timestamp:
08/21/2023 05:49:09 PM (16 months ago)
Author:
hellofromTonya
Message:

Editor: Fix error handling of converting classic to block menus.

Fixes the error handling for when WP_Classic_To_Block_Menu_Converter::convert() returns an instance of WP_Error. WP_Navigation_Fallback::create_classic_menu_fallback() now checks for is_wp_error() and if true, returns the error. And the @return type is updated to string|WP_Error.

Also includes a fix in the return type in WP_Classic_To_Block_Menu_Converter::convert() to return an empty string instead of an array instead, i.e. when bailing out for no menu items returned by wp_get_nav_menu_items(). The return type is clearly documented as a string.

Follow-up to [56052].

Props dlh, get_dave, antonvlasenko, hellofromTonya.
Fixes #58823.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-includes/class-wp-classic-to-block-menu-converter.php

    r56257 r56422  
    2121     *
    2222     * @param WP_Term $menu The Menu term object of the menu to convert.
    23      * @return string the serialized and normalized parsed blocks.
     23     * @return string|WP_Error The serialized and normalized parsed blocks on success,
     24     *                         an empty string when there are no menus to convert,
     25     *                         or WP_Error on invalid menu.
    2426     */
    2527    public static function convert( $menu ) {
     
    3537
    3638        if ( empty( $menu_items ) ) {
    37             return array();
     39            return '';
    3840        }
    3941
Note: See TracChangeset for help on using the changeset viewer.