wpseek.com
A WordPress-centric search engine for devs and theme authors



_wp_filter_build_unique_id › WordPress Function

Since2.2.3
Deprecatedn/a
_wp_filter_build_unique_id ( $hook_name, $callback, $priority )
Access:
  • private
Parameters: (3)
  • (string) $hook_name Unused. The name of the filter to build ID for.
    Required: Yes
  • (callable) $callback The callback to generate ID for. The callback may or may not exist.
    Required: Yes
  • (int) $priority Unused. The order in which the functions associated with a particular action are executed.
    Required: Yes
Links:
Returns:
  • (string|null) Unique function ID for usage as array key, or null if it couldn't be determined.
Defined at:
Codex:
Change Log:
  • 5.3.0
  • 6.9.0
  • 7.1.0

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.


Source

function _wp_filter_build_unique_id( $hook_name, $callback, $priority ): ?string {
	if ( is_string( $callback ) ) {
		return $callback;
	}

	if ( is_object( $callback ) ) {
		return (string) spl_object_id( (object) $callback );
	}

	$callback = (array) $callback;
	if ( ! isset( $callback[1] ) || ! is_string( $callback[1] ) ) {
		return null;
	}

	if ( is_object( $callback[0] ) ) {
		// Object class calling.
		return ( (string) spl_object_id( $callback[0] ) ) . $callback[1];
	} elseif ( is_string( $callback[0] ) ) {
		// Static calling.
		return $callback[0] . '::' . $callback[1];
	}

	return null;
}