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

$name

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

Default value: null


Top ↑

Source Source

File: wp-includes/general-template.php

22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
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

Changelog
Version Description
1.5.0 Introduced.


Top ↑

User Contributed Notes User Contributed Notes

  1. Skip to note 1 content
    Contributed by Codex

    Multiple Headers
    Different header for different pages.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
    if ( is_home() ) :
        get_header( 'home' );
    elseif ( is_404() ) :
        get_header( '404' );
    else :
        get_header();
    endif;
    ?>

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

  2. Skip to note 2 content
    Contributed by Barrett Golding

    Named header template
    Load an alternate header file by using the $name param:
    <?php get_header( 'special' ); ?>

    The above code in a theme file will load the template file: header-special.php. If not found, will default to loading: header.php.

  3. Skip to note 3 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).

    1
    2
    3
    4
    5
    6
    <?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.