Changeset 46220
- Timestamp:
- 09/20/2019 10:33:13 PM (6 years ago)
- Location:
- trunk/src/wp-includes
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/wp-includes/class-wp-widget-factory.php
r42343 r46220 57 57 58 58 /** 59 * Hashes an object, doing fallback of `spl_object_hash()` if not available.60 *61 * This can be eliminated in favor of straight spl_object_hash() when 5.362 * is the minimum requirement for PHP.63 *64 * @since 4.6.065 *66 * @param WP_Widget $widget Widget.67 * @return string Object hash.68 */69 private function hash_object( $widget ) {70 if ( function_exists( 'spl_object_hash' ) ) {71 return spl_object_hash( $widget );72 } else {73 $class_name = get_class( $widget );74 $hash = $class_name;75 if ( ! isset( $widget->_wp_widget_factory_hash_id ) ) {76 if ( ! isset( $this->hashed_class_counts[ $class_name ] ) ) {77 $this->hashed_class_counts[ $class_name ] = 0;78 }79 $this->hashed_class_counts[ $class_name ] += 1;80 $widget->_wp_widget_factory_hash_id = $this->hashed_class_counts[ $class_name ];81 }82 $hash .= ':' . $widget->_wp_widget_factory_hash_id;83 return $hash;84 }85 }86 87 /**88 59 * Registers a widget subclass. 89 60 * … … 96 67 public function register( $widget ) { 97 68 if ( $widget instanceof WP_Widget ) { 98 $this->widgets[ $this->hash_object( $widget ) ] = $widget;69 $this->widgets[ spl_object_hash( $widget ) ] = $widget; 99 70 } else { 100 71 $this->widgets[ $widget ] = new $widget(); … … 113 84 public function unregister( $widget ) { 114 85 if ( $widget instanceof WP_Widget ) { 115 unset( $this->widgets[ $this->hash_object( $widget ) ] );86 unset( $this->widgets[ spl_object_hash( $widget ) ] ); 116 87 } else { 117 88 unset( $this->widgets[ $widget ] ); -
trunk/src/wp-includes/plugin.php
r46149 r46220 926 926 if ( is_object( $function[0] ) ) { 927 927 // Object Class Calling 928 if ( function_exists( 'spl_object_hash' ) ) { 929 return spl_object_hash( $function[0] ) . $function[1]; 930 } else { 931 $obj_idx = get_class( $function[0] ) . $function[1]; 932 if ( ! isset( $function[0]->wp_filter_id ) ) { 933 if ( false === $priority ) { 934 return false; 935 } 936 $obj_idx .= isset( $wp_filter[ $tag ][ $priority ] ) ? count( (array) $wp_filter[ $tag ][ $priority ] ) : $filter_id_count; 937 $function[0]->wp_filter_id = $filter_id_count; 938 ++$filter_id_count; 939 } else { 940 $obj_idx .= $function[0]->wp_filter_id; 941 } 942 943 return $obj_idx; 944 } 928 return spl_object_hash( $function[0] ) . $function[1]; 945 929 } elseif ( is_string( $function[0] ) ) { 946 930 // Static Calling
Note: See TracChangeset
for help on using the changeset viewer.