Changeset 37588 for trunk/src/wp-includes/plugin.php
- Timestamp:
- 05/27/2016 07:19:12 PM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/wp-includes/plugin.php
r37342 r37588 947 947 } 948 948 } 949 950 /** 951 * Back up global variables used for actions and filters. 952 * 953 * Prevents redefinition of these globals in advanced-cache.php from accidentally 954 * destroying existing data. 955 * 956 * @since 4.6.0 957 * @access private 958 * 959 * @global array $wp_filter Stores all filters and actions. 960 * @global array $wp_actions Stores the amount of times an action was triggered. 961 * @global array $merged_filters Merges the filter hooks using this function. 962 * @global array $wp_current_filter Stores the list of current filters with the current one last. 963 * @staticvar array $backup_globals Backed up globals. 964 * @return array the staticvar from the first time it is set. 965 */ 966 function _backup_plugin_globals(){ 967 global $wp_filter, $wp_actions, $merged_filters, $wp_current_filter; 968 static $backup_globals = array(); 969 if ( empty( $backup_globals ) ) { 970 $backup_globals = array( 971 'backup_wp_filter' => $wp_filter, 972 'backup_wp_actions' => $wp_actions, 973 'backup_merged_filters' => $merged_filters, 974 'backup_wp_current_filter' => $wp_current_filter, 975 ); 976 }; 977 return $backup_globals; 978 } 979 980 /** 981 * Safely restore backed up global variables used for actions and filters. 982 * 983 * @since 4.6.0 984 * @access private 985 * 986 * @global array $wp_filter Stores all filters and actions. 987 * @global array $wp_actions Stores the amount of times an action was triggered. 988 * @global array $merged_filters Merges the filter hooks using this function. 989 * @global array $wp_current_filter Stores the list of current filters with the current one last. 990 * @staticvar array $backup_globals Backed up globals. 991 */ 992 function _restore_plugin_globals(){ 993 global $wp_filter, $wp_actions, $merged_filters, $wp_current_filter; 994 $backup_globals = _backup_plugin_globals(); 995 if ( $wp_filter !== $backup_globals['backup_wp_filter'] ){ 996 $wp_filter = array_merge_recursive( $wp_filter, $backup_globals['backup_wp_filter'] ); 997 } 998 999 if ( $wp_actions !== $backup_globals['backup_wp_actions'] ){ 1000 $wp_actions = array_merge_recursive( $wp_actions, $backup_globals['backup_wp_actions'] ); 1001 } 1002 1003 if ( $merged_filters !== $backup_globals['backup_merged_filters'] ){ 1004 $merged_filters = array_merge_recursive( $merged_filters, $backup_globals['backup_merged_filters'] ); 1005 } 1006 1007 if ( $wp_current_filter !== $backup_globals['backup_wp_current_filter'] ){ 1008 $wp_current_filter = array_merge_recursive( $wp_current_filter, $backup_globals['backup_wp_current_filter'] ); 1009 } 1010 }
Note: See TracChangeset
for help on using the changeset viewer.