wp_unique_id_from_values()
Создаёт короткий идентификатор на основе структуры и значений массива.
Преобразует массив в JSON, вычисляет MD5-хеш и использует его первые 8 символов. Одинаковые массивы создают одинаковые идентификаторы. Порядок элементов и ключей влияет на результат.
Идентификатор не гарантирует абсолютную уникальность, потому что хеш сокращается до 8 символов. Не используйте его как секретный токен или в случаях, где коллизии недопустимы.
Используйте wp_unique_id(), когда каждый вызов должен создавать новый идентификатор независимо от переданных данных.
Хуков нет.
Возвращает
string.
строку- 8-символьный хеш с указанным префиксом.
Использование
wp_unique_id_from_values( $data, $prefix ): string;
- $data(массив) (обязательный)
Данные, на основе которых создаётся идентификатор.
Массив не должен быть пустым. При передаче пустого массива WordPress создаст предупреждение
_doing_it_wrong(), но продолжит выполнение и создаст идентификатор.- $prefix(строка)
- Префикс, добавляемый перед хешем. Префикс не участвует в вычислении хеша.
По умолчанию:''
Примеры
#1 Создание CSS-класса на основе настроек
Одинаковый набор настроек всегда создаст одинаковое имя класса.
$layout = [ 'layout' => 'grid', 'columns' => 3, 'gap' => '24px', ]; $class_name = wp_unique_id_from_values( $layout, 'layout-' ); printf( '<div class="%s">Content</div>', esc_attr( $class_name ) );
Список изменений
| С версии 6.8.0 | Введена. |
Код wp_unique_id_from_values() wp unique id from values WP 7.1
function wp_unique_id_from_values( array $data, string $prefix = '' ): string {
if ( empty( $data ) ) {
_doing_it_wrong(
__FUNCTION__,
sprintf(
/* translators: %s: The parameter name. */
__( 'The %s parameter must not be empty.' ),
'$data'
),
'6.8.0'
);
}
$serialized = wp_json_encode( $data );
$hash = substr( md5( $serialized ), 0, 8 );
return $prefix . $hash;
}