Opened 7 years ago
Last modified 2 years ago
#46382 new defect (bug)
[walker-nav-menu] Undefined property stdclass::$current in class-walker-nav-menu.php
| Reported by: |
|
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
@
5 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
@
4 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
@
2 years 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.