WordPress.org

Make WordPress Core

Ticket #21172: add-at-9-include-21169.patch

File add-at-9-include-21169.patch, 3.0 KB (added by devesine, 6 years ago)
  • wp-includes/plugin.php

     
    163163        if ( empty($args) )
    164164                $args = func_get_args();
    165165
    166         do {
    167                 foreach( (array) current($wp_filter[$tag]) as $the_ )
     166        $pri = null;
     167        while ( ( $next = each($wp_filter[$tag]) ) !== false ) {
     168                if ( is_null($pri) )
     169                        $pri = $next['key'];
     170                if ( $pri > $next['key'] )
     171                        continue;
     172                foreach( (array) $next['value'] as $the_ )
    168173                        if ( !is_null($the_['function']) ){
    169174                                $args[1] = $value;
    170175                                $value = call_user_func_array($the_['function'], array_slice($args, 1, (int) $the_['accepted_args']));
    171176                        }
    172177
    173         } while ( next($wp_filter[$tag]) !== false );
     178        }
    174179
    175180        array_pop( $wp_current_filter );
    176181
     
    221226
    222227        reset( $wp_filter[ $tag ] );
    223228
    224         do {
    225                 foreach( (array) current($wp_filter[$tag]) as $the_ )
     229        $pri = null;
     230        while ( ( $next = each($wp_filter[$tag]) ) !== false ) {
     231                if ( is_null($pri) )
     232                        $pri = $next['key'];
     233                if ( $pri > $next['key'] )
     234                        continue;
     235                foreach( (array) $next['value'] as $the_ )
    226236                        if ( !is_null($the_['function']) )
    227237                                $args[0] = call_user_func_array($the_['function'], array_slice($args, 0, (int) $the_['accepted_args']));
    228238
    229         } while ( next($wp_filter[$tag]) !== false );
     239        }
    230240
    231241        array_pop( $wp_current_filter );
    232242
     
    397407
    398408        reset( $wp_filter[ $tag ] );
    399409
    400         do {
    401                 foreach ( (array) current($wp_filter[$tag]) as $the_ )
     410        $pri = null;
     411        while ( ( $next = each($wp_filter[$tag]) ) !== false ) {
     412                if ( is_null($pri) )
     413                        $pri = $next['key'];
     414                if ( $pri > $next['key'] )
     415                        continue;
     416                foreach( (array) $next['value'] as $the_ )
    402417                        if ( !is_null($the_['function']) )
    403418                                call_user_func_array($the_['function'], array_slice($args, 0, (int) $the_['accepted_args']));
    404419
    405         } while ( next($wp_filter[$tag]) !== false );
     420        }
    406421
    407422        array_pop($wp_current_filter);
    408423}
     
    478493
    479494        reset( $wp_filter[ $tag ] );
    480495
    481         do {
    482                 foreach( (array) current($wp_filter[$tag]) as $the_ )
     496        $pri = null;
     497        while ( ( $next = each($wp_filter[$tag]) ) !== false ) {
     498                if ( is_null($pri) )
     499                        $pri = $next['key'];
     500                if ( $pri > $next['key'] )
     501                        continue;
     502                foreach( (array) $next['value'] as $the_ )
    483503                        if ( !is_null($the_['function']) )
    484504                                call_user_func_array($the_['function'], array_slice($args, 0, (int) $the_['accepted_args']));
    485505
    486         } while ( next($wp_filter[$tag]) !== false );
     506        }
    487507
    488508        array_pop($wp_current_filter);
    489509}
     
    708728        global $wp_filter;
    709729
    710730        reset( $wp_filter['all'] );
    711         do {
    712                 foreach( (array) current($wp_filter['all']) as $the_ )
     731        $pri = $null;
     732        while ( ( $next = each($wp_filter['all']) ) !== false ) {
     733                if ( is_null($pri) )
     734                        $pri = $next['key'];
     735                if ( $pri > $next['key'] )
     736                        continue;
     737                foreach( (array) $next['value'] as $the_ )
    713738                        if ( !is_null($the_['function']) )
    714739                                call_user_func_array($the_['function'], $args);
    715740
    716         } while ( next($wp_filter['all']) !== false );
     741        }
    717742}
    718743
    719744/**