WordPress.org

Make WordPress Core

Ticket #17110: apply_filters.diff

File apply_filters.diff, 793 bytes (added by ryan, 7 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]);