Custom_Image_Header::show_header_selector()publicWP 3.0.0

Displays UI for selecting one of several default headers.

Shows the random image option if this theme has multiple header images. Random image option is on by default if no header has been set.

Method of the class: Custom_Image_Header{}

No Hooks.

Return

null. Nothing (null).

Usage

$Custom_Image_Header = new Custom_Image_Header();
$Custom_Image_Header->show_header_selector( $type );
$type(string)
The header type. One of 'default' (for the Uploaded Images control) or 'uploaded' (for the Uploaded Images control).
Default: 'default'

Changelog

Since 3.0.0 Introduced.

Custom_Image_Header::show_header_selector() code WP 6.5.2

public function show_header_selector( $type = 'default' ) {
	if ( 'default' === $type ) {
		$headers = $this->default_headers;
	} else {
		$headers = get_uploaded_header_images();
		$type    = 'uploaded';
	}

	if ( 1 < count( $headers ) ) {
		echo '<div class="random-header">';
		echo '<label><input name="default-header" type="radio" value="random-' . $type . '-image"' . checked( is_random_header_image( $type ), true, false ) . ' />';
		_e( '<strong>Random:</strong> Show a different image on each page.' );
		echo '</label>';
		echo '</div>';
	}

	echo '<div class="available-headers">';

	foreach ( $headers as $header_key => $header ) {
		$header_thumbnail = $header['thumbnail_url'];
		$header_url       = $header['url'];
		$header_alt_text  = empty( $header['alt_text'] ) ? '' : $header['alt_text'];

		echo '<div class="default-header">';
		echo '<label><input name="default-header" type="radio" value="' . esc_attr( $header_key ) . '" ' . checked( $header_url, get_theme_mod( 'header_image' ), false ) . ' />';
		$width = '';
		if ( ! empty( $header['attachment_id'] ) ) {
			$width = ' width="230"';
		}
		echo '<img src="' . esc_url( set_url_scheme( $header_thumbnail ) ) . '" alt="' . esc_attr( $header_alt_text ) . '"' . $width . ' /></label>';
		echo '</div>';
	}

	echo '<div class="clear"></div></div>';
}