_wp_filter_build_unique_id()
Builds a unique string ID for a hook callback function.
Functions and static method callbacks are just returned as strings and shouldn't have any speed penalty.
Internal function — this function is designed to be used by the kernel itself. It is not recommended to use this function in your code.
No Hooks.
Returns
String|null. Unique function ID for usage as array key. Null if a valid $callback is not passed.
Usage
_wp_filter_build_unique_id( $hook_name, $callback, $priority );
- $hook_name(string) (required)
- Unused. The name of the filter to build ID for.
- $callback(callable|string|array) (required)
- The callback to generate ID for. The callback may or may not exist.
- $priority(int) (required)
- Unused. The order in which the functions associated with a particular action are executed.
Changelog
| Since 2.2.3 | Introduced. |
| Since 5.3.0 | Removed workarounds for spl_object_hash(). (hook_name) $priority are no longer used, and the function always returns a string. |
_wp_filter_build_unique_id() wp filter build unique id code WP 7.0
function _wp_filter_build_unique_id( $hook_name, $callback, $priority ) {
if ( is_string( $callback ) ) {
return $callback;
}
if ( is_object( $callback ) ) {
// Closures are currently implemented as objects.
$callback = array( $callback, '' );
} else {
$callback = (array) $callback;
}
if ( is_object( $callback[0] ) ) {
// Object class calling.
return spl_object_hash( $callback[0] ) . $callback[1];
} elseif ( is_string( $callback[0] ) ) {
// Static calling.
return $callback[0] . '::' . $callback[1];
}
return null;
}