_wp_filter_build_unique_id()WP 2.2.3

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.

Внутренняя функция — эта функция рассчитана на использование самим ядром. Не рекомендуется использовать эту функцию в своем коде.

No Hooks.


String. Unique function ID for usage as array key.


_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.


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() code WP 6.4.1

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];