WordPress.org

Make WordPress Core

Changeset 38575


Ignore:
Timestamp:
09/08/2016 07:05:32 AM (21 months ago)
Author:
peterwilsoncc
Message:

Menus: Fix notices thrown by classes extending Walker_Nav_Menu.

Methods in Walker_Nav_Menu can be called with multiple, incompatible $args objects so an insset() check is required to avoid throwing notices.

Introduced in [38523].

Fixes #35206.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-includes/class-walker-nav-menu.php

    r38559 r38575  
    5151     */
    5252    public function start_lvl( &$output, $depth = 0, $args = array() ) {
    53         if ( 'preserve' === $args->item_spacing ) {
    54             $t = "\t";
    55             $n = "\n";
    56         } else {
    57             $t = '';
    58             $n = '';
     53        if ( isset( $args->item_spacing ) && 'discard' === $args->item_spacing ) {
     54            $t = '';
     55            $n = '';
     56        } else {
     57            $t = "\t";
     58            $n = "\n";
    5959        }
    6060        $indent = str_repeat( $t, $depth );
     
    7474     */
    7575    public function end_lvl( &$output, $depth = 0, $args = array() ) {
    76         if ( 'preserve' === $args->item_spacing ) {
    77             $t = "\t";
    78             $n = "\n";
    79         } else {
    80             $t = '';
    81             $n = '';
     76        if ( isset( $args->item_spacing ) && 'discard' === $args->item_spacing ) {
     77            $t = '';
     78            $n = '';
     79        } else {
     80            $t = "\t";
     81            $n = "\n";
    8282        }
    8383        $indent = str_repeat( $t, $depth );
     
    100100     */
    101101    public function start_el( &$output, $item, $depth = 0, $args = array(), $id = 0 ) {
    102         if ( 'preserve' === $args->item_spacing ) {
    103             $t = "\t";
    104             $n = "\n";
    105         } else {
    106             $t = '';
    107             $n = '';
     102        if ( isset( $args->item_spacing ) && 'discard' === $args->item_spacing ) {
     103            $t = '';
     104            $n = '';
     105        } else {
     106            $t = "\t";
     107            $n = "\n";
    108108        }
    109109        $indent = ( $depth ) ? str_repeat( $t, $depth ) : '';
     
    238238     */
    239239    public function end_el( &$output, $item, $depth = 0, $args = array() ) {
    240         if ( 'preserve' === $args->item_spacing ) {
    241             $t = "\t";
    242             $n = "\n";
    243         } else {
    244             $t = '';
    245             $n = '';
     240        if ( isset( $args->item_spacing ) && 'discard' === $args->item_spacing ) {
     241            $t = '';
     242            $n = '';
     243        } else {
     244            $t = "\t";
     245            $n = "\n";
    246246        }
    247247        $output .= "</li>{$n}";
Note: See TracChangeset for help on using the changeset viewer.