get_header( string $name = null, array $args = array() )

Load header template.

Description

Includes the header template for a theme or if a name is specified then a specialised header will be included.

For the parameter, if the file is called "header-special.php" then specify "special".

Parameters

$name

(string) (Optional) The name of the specialised header.

Default value: null

$args

(array) (Optional) Additional arguments passed to the header template.

Default value: array()

Return

(void|false) Void on success, false if the template does not exist.

More Information

If the theme contains no header.php file then the header from the default theme wp-includes/theme-compat/header.php will be included.

Source

File: wp-includes/general-template.php

function get_header( $name = null, $args = array() ) {
	/**
	 * Fires before the header template file is loaded.
	 *
	 * @since 2.1.0
	 * @since 2.8.0 The `$name` parameter was added.
	 * @since 5.5.0 The `$args` parameter was added.
	 *
	 * @param string|null $name Name of the specific header file to use. Null for the default header.
	 * @param array       $args Additional arguments passed to the header template.
	 */
	do_action( 'get_header', $name, $args );

	$templates = array();
	$name      = (string) $name;
	if ( '' !== $name ) {
		$templates[] = "header-{$name}.php";
	}

	$templates[] = 'header.php';

	if ( ! locate_template( $templates, true, true, $args ) ) {
		return false;
	}
}

Changelog

Version Description
5.5.0 The $args parameter was added.
1.5.0 Introduced.

© 2003–2021 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/functions/get_header