Make WordPress Core

Changeset 6318


Ignore:
Timestamp:
11/06/2007 09:38:04 PM (17 years ago)
Author:
ryan
Message:

current_fiter() from tellyworth. fixes #5232

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-includes/plugin.php

    r6316 r6318  
    108108 */
    109109function apply_filters($tag, $value) {
    110     global $wp_filter, $merged_filters;
     110    global $wp_filter, $merged_filters, $wp_current_filter;
     111
     112    @$wp_current_filter[] = $tag;
    111113
    112114    // Do 'all' actions first
     
    121123    }
    122124
    123     if ( !isset($wp_filter[$tag]) )
     125    if ( !isset($wp_filter[$tag]) ) {
     126        array_pop($wp_current_filter);
    124127        return $value;
     128    }
    125129
    126130    // Sort
     
    143147
    144148    } while ( next($wp_filter[$tag]) !== false );
     149   
     150    array_pop( $wp_current_filter );
    145151
    146152    return $value;
     
    183189
    184190/**
     191 * Return the name of the current filter or action.
     192 */
     193function current_filter() {
     194    global $wp_current_filter;
     195    return end( $wp_current_filter );
     196}
     197
     198
     199/**
    185200 * Hooks a function on to a specific action.
    186201 *
     
    234249 */
    235250function do_action($tag, $arg = '') {
    236     global $wp_action, $wp_actions;
     251    global $wp_action, $wp_actions, $wp_current_filter;
    237252
    238253    if ( is_array($wp_actions) )
     
    249264        $args[] = func_get_arg($a);
    250265
     266    @$wp_current_filter[] = $tag;
     267
    251268    // Do 'all' actions first
    252269    if ( isset($wp_action['all']) ) {
     
    259276    }
    260277
    261     if ( !isset($wp_action[$tag]) )
     278    if ( !isset($wp_action[$tag]) ) {
     279        array_pop($wp_current_filter);
    262280        return;
    263 
     281    }
     282       
    264283    // Sort
    265284    if ( !isset( $merged_actions[ $tag ] ) ) {
     
    278297    } while ( next($wp_action[$tag]) !== false );
    279298
     299        array_pop($wp_current_filter);
    280300}
    281301
Note: See TracChangeset for help on using the changeset viewer.