Changeset 38224 for branches/4.6/src/wp-includes/plugin.php
- Timestamp:
- 08/09/2016 01:50:21 AM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/4.6/src/wp-includes/plugin.php
r38125 r38224 1020 1020 * @return array the staticvar from the first time it is set. 1021 1021 */ 1022 function _backup_plugin_globals( ){1022 function _backup_plugin_globals( $backup = true ) { 1023 1023 global $wp_filter, $wp_actions, $merged_filters, $wp_current_filter; 1024 1024 1025 1025 static $backup_globals = array(); 1026 1026 1027 if ( empty( $backup_globals )) {1027 if ( $backup ) { 1028 1028 $backup_globals = array( 1029 1029 'backup_wp_filter' => $wp_filter, … … 1032 1032 'backup_wp_current_filter' => $wp_current_filter, 1033 1033 ); 1034 }; 1034 1035 $wp_filter = $wp_actions = array(); 1036 } 1035 1037 return $backup_globals; 1036 1038 } … … 1048 1050 * @staticvar array $backup_globals Backed up globals. 1049 1051 */ 1050 function _restore_plugin_globals() {1052 function _restore_plugin_globals() { 1051 1053 global $wp_filter, $wp_actions, $merged_filters, $wp_current_filter; 1052 1054 1053 $backup_globals = _backup_plugin_globals(); 1054 1055 if ( $wp_filter !== $backup_globals['backup_wp_filter'] ){ 1056 $wp_filter = array_merge_recursive( $wp_filter, $backup_globals['backup_wp_filter'] ); 1057 } 1058 1059 if ( $wp_actions !== $backup_globals['backup_wp_actions'] ){ 1060 $wp_actions = array_merge_recursive( $wp_actions, $backup_globals['backup_wp_actions'] ); 1061 } 1062 1063 if ( $merged_filters !== $backup_globals['backup_merged_filters'] ){ 1055 $backup_globals = _backup_plugin_globals( false ); 1056 1057 if ( empty( $wp_filter ) ) { 1058 $wp_filter = $backup_globals['backup_wp_filter']; 1059 } else { 1060 $added_filters = $wp_filter; 1061 $wp_filter = $backup_globals['backup_wp_filter']; 1062 1063 foreach ( $added_filters as $tag => $callback_groups ) { 1064 // Loop through callback groups. 1065 foreach ( $callback_groups as $priority => $callbacks ) { 1066 1067 // Loop through callbacks. 1068 foreach ( $callbacks as $cb ) { 1069 add_filter( $tag, $cb['function'], $priority, $cb['accepted_args'] ); 1070 } 1071 } 1072 } 1073 } 1074 1075 if ( empty ( $wp_actions ) ) { 1076 $wp_actions = $backup_globals['backup_wp_actions']; 1077 } else { 1078 $run_actions = $wp_actions; 1079 $wp_actions = $backup_globals['backup_wp_actions']; 1080 1081 foreach( $run_actions as $action => $count ) { 1082 if ( ! isset( $wp_actions[ $action ] ) ) { 1083 $wp_actions[ $action ] = 0; 1084 } 1085 1086 $wp_actions[ $action ] += $count; 1087 } 1088 } 1089 1090 if ( $merged_filters !== $backup_globals['backup_merged_filters'] ) { 1064 1091 $merged_filters = array_merge_recursive( $merged_filters, $backup_globals['backup_merged_filters'] ); 1065 1092 } 1066 1093 1067 if ( $wp_current_filter !== $backup_globals['backup_wp_current_filter'] ) {1094 if ( $wp_current_filter !== $backup_globals['backup_wp_current_filter'] ) { 1068 1095 $wp_current_filter = array_merge_recursive( $wp_current_filter, $backup_globals['backup_wp_current_filter'] ); 1069 1096 }
Note: See TracChangeset
for help on using the changeset viewer.