wp_unique_prefixed_id()WP 6.4.0

Generates an incremental ID that is independent per each different prefix.

It is similar to wp_unique_id, but each prefix has its own internal ID counter to make each prefix independent from each other. The ID starts at 1 and increments on each call. The returned value is not universally unique, but it is unique across the life of the PHP process and it's stable per prefix.

No Hooks.

Return

String. Incremental ID per prefix.

Usage

wp_unique_prefixed_id( $prefix );
$prefix(string)
Prefix for the returned ID.
Default: empty string

Changelog

Since 6.4.0 Introduced.

wp_unique_prefixed_id() code WP 6.5.4

function wp_unique_prefixed_id( $prefix = '' ) {
	static $id_counters = array();

	if ( ! is_string( $prefix ) ) {
		wp_trigger_error(
			__FUNCTION__,
			sprintf( 'The prefix must be a string. "%s" data type given.', gettype( $prefix ) )
		);
		$prefix = '';
	}

	if ( ! isset( $id_counters[ $prefix ] ) ) {
		$id_counters[ $prefix ] = 0;
	}

	$id = ++$id_counters[ $prefix ];

	return $prefix . (string) $id;
}