Custom_Image_Header::show_header_selector( string $type = ‘default’ )

Displays UI for selecting one of several default headers.

Description

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.

Parameters

$typestringoptional
The header type. One of 'default' (for the Uploaded Images control) or 'uploaded' (for the Uploaded Images control).

Default:'default'

Source

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>';
}

Changelog

VersionDescription
3.0.0Introduced.

User Contributed Notes

You must log in before being able to contribute a note or feedback.