get_header( string $name = null )

Load header template.

Description 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 Parameters


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

Default value: null

Top ↑

Source Source

File: wp-includes/general-template.php

function get_header( $name = null ) {
	 * Fires before the header template file is loaded.
	 * @since 2.1.0
	 * @since 2.8.0 $name parameter added.
	 * @param string|null $name Name of the specific header file to use. null for the default header.
	do_action( 'get_header', $name );

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

	$templates[] = 'header.php';

	locate_template( $templates, true );

Top ↑

Changelog Changelog

Version Description
1.5.0 Introduced.

Top ↑

User Contributed Notes User Contributed Notes

  1. Skip to note content
    Contributed by Codex

    Multiple Headers
    Different header for different pages.

    if ( is_home() ) :
    	get_header( 'home' );
    elseif ( is_404() ) :
    	get_header( '404' );
    else :

    The file names for the home and 404 headers should be header-home.php and header-404.php respectively.

  2. Skip to note content
    Contributed by Codex

    Simple 404 page
    The following code is a simple example of a template for an “HTTP 404: Not Found” error (which you could include in your theme as 404.php).

    <?php get_header(); ?>
    <h2><?php esc_html_e( 'Error 404 - Not Found', 'textdomain' ); ?></h2>
    <?php get_sidebar(); ?>
    <?php get_footer(); ?>

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