WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru Авторские Темы для WordPress
функция не описана

_wp_filter_build_unique_id() WP 2.2.3

Build Unique ID for storage and retrieval.

The old way to serialize the callback caused issues and this function is the solution. It works by checking for objects and creating a new property in the class to keep track of the object and new objects of the same class that need to be added.

It also allows for the removal of actions and filters for objects after they change class properties. It is possible to include the property $wp_filter_id in your class and set it to "null" or a number to bypass the workaround. However this will prevent you from adding new classes and any new classes will overwrite the previous hook by the same class.

Functions and static method callbacks are just returned as strings and shouldn't have any speed penalty.

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

Хуков нет.

Возвращает

Строку. Unique function ID for usage as array key.

Использование

_wp_filter_build_unique_id( $tag, $function, $priority );
$tag(строка) (обязательный)
Unused. The name of the filter to build ID for.
$function(callable) (обязательный)
The function to generate ID for.
$priority(int) (обязательный)
Unused. The order in which the functions associated with a particular action are executed.

Список изменений

С версии 2.2.3 Введена.
С версии 5.3.0 Removed workarounds for spl_object_hash(). $tag and $priority are no longer used, and the function always returns a string.

Код _wp_filter_build_unique_id() WP 5.7.2

<?php
function _wp_filter_build_unique_id( $tag, $function, $priority ) {
	if ( is_string( $function ) ) {
		return $function;
	}

	if ( is_object( $function ) ) {
		// Closures are currently implemented as objects.
		$function = array( $function, '' );
	} else {
		$function = (array) $function;
	}

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