Opened 6 years ago
Last modified 15 months ago
#46382 new defect (bug)
[walker-nav-menu] Undefined property stdclass::$current in class-walker-nav-menu.php
Reported by: | winston_wolf | Owned by: | |
---|---|---|---|
Milestone: | Awaiting Review | Priority: | normal |
Severity: | normal | Version: | 5.1 |
Component: | Menus | Keywords: | has-patch |
Focuses: | Cc: |
Description
In wp-includes/class-walker-nav-menu.php line 177 there's a missing empty(); function around $item->current.
Causes PHP errors everywhere wp_nav_menu(); function occurrence:
$atts['aria-current'] = $item->current ? 'page' : '';
Should be:
$atts['aria-current'] = ! empty( $item->current ) ? 'page' : '';
Attachments (1)
Change History (6)
#3
@
4 years ago
Hello @winston_wolf,
In the WordPress update version, we are facing the exact same issue,
In wp-includes/nav-menu-template.php line 190 there’s a missing empty();
function around $args->container_aria_label.
Causes PHP errors everywhere wp_nav_menu(); function occurrence:
$aria_label = ( 'nav' === $args->container && $args->container_aria_label ) ? ' aria-label="' . esc_attr( $args->container_aria_label ) . '"' : '';
Should be:
$aria_label = ( 'nav' === $args->container && !empty($args->container_aria_label) ) ? ' aria-label="' . esc_attr( $args->container_aria_label ) . '"' : '';
Thanks
#4
@
3 years ago
Watching this ticket as I've just had to delete a 12MB error log filled with
Undefined property: stdClass::$target in .../wp-includes/class-walker-nav-menu.php on line 180
Undefined property: stdClass::$xfn in .../wp-includes/class-walker-nav-menu.php on line 183
#5
@
15 months ago
Looks like lines 180 to 196 inclusive should be changed to read as follows:
if ( ! empty( $menu_item->target ) && '_blank' === $menu_item->target && empty( $menu_item->xfn ) ) { $atts['rel'] = 'noopener'; } else { $atts['rel'] = ! empty( $menu_item->xfn ) ? $menu_item->xfn : ''; } if ( ! empty( $menu_item->url ) ) { if ( get_privacy_policy_url() === $menu_item->url ) { $atts['rel'] = empty( $atts['rel'] ) ? 'privacy-policy' : $atts['rel'] . ' privacy-policy'; } $atts['href'] = $menu_item->url; } else { $atts['href'] = ''; } $atts['aria-current'] = ! empty( $menu_item->current ) ? 'page' : '';
Hi @winston_wolf, Welcome to WordPres Trac! Thanks for the report.
Good cache.