Funkcja wp_unique_id pozwala stworzyć unikalny ID dla różnych elementów w naszych szablonach WordPressa. Jest też zaskakująca w swojej prostocie. Poznajmy ją.

Funkcja ta przyjmuje opcjonalnie prefiks i zwraca niepowtarzalny ID, który możemy zapisać do zmiennej i używać w naszych elementach:

<?php
    $search_input_id = wp_unique_id( 'search-form-' );
?>

<form action="/" method="get">
    <label for="<?php echo $search_input_id; ?>">Search:</label>
    <input id="<?php echo $search_input_id; ?>" type="text" name="s">
</form>

Do czego nam się to przyda, to już nasza sprawa. Zazwyczaj formularze, AJAX, dynamiczny kontent.

Warto dodać, że funkcja jest zadziwiająca w swojej prostocie:

function wp_unique_id( $prefix = '' ) {
	static $id_counter = 0;
	return $prefix . (string) ++$id_counter;
}

Zmienna statyczna counter, zwraca prefiks i rzutowanie pre-inkrementacji countera.

Znaczy to tyle, że pierwsze ID będzie napisem '1′, bądź też 'search-form-1; jak w przypadku powyżej.

Kolejne ID będą miały o jeden większy ID (mogą też mieć prefiks, taki sam lub inny) zgodnie z działaniem statycznych zmiennych funkcji.