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.