WordPress.org

Make WordPress Core

Ticket #17110: apply_filters.diff

File apply_filters.diff, 793 bytes (added by ryan, 3 years ago)
  • wp-includes/plugin.php

     
    135135        global $wp_filter, $merged_filters, $wp_current_filter; 
    136136 
    137137        $args = array(); 
    138         $wp_current_filter[] = $tag; 
    139138 
    140139        // Do 'all' actions first 
    141140        if ( isset($wp_filter['all']) ) { 
     141                $wp_current_filter[] = $tag; 
    142142                $args = func_get_args(); 
    143143                _wp_call_all_hook($args); 
    144144        } 
    145145 
    146146        if ( !isset($wp_filter[$tag]) ) { 
    147                 array_pop($wp_current_filter); 
     147                if ( isset($wp_filter['all']) ) 
     148                        array_pop($wp_current_filter); 
    148149                return $value; 
    149150        } 
    150151 
     152        if ( !isset($wp_filter['all']) ) 
     153                $wp_current_filter[] = $tag; 
     154 
    151155        // Sort 
    152156        if ( !isset( $merged_filters[ $tag ] ) ) { 
    153157                ksort($wp_filter[$tag]);