What is the header.php file in WordPress?

The header.php file is an important component of a WordPress theme that influences the look and functioning of the website.

It is in charge of establishing the header area, which normally includes the title of the site, the navigation menu, and other important aspects.

In this article, we will deep dive and try to understand the header.php file in WordPress, its purpose, and how it can be altered to improve the website’s style and operation.

Understanding the header.php file

The header.php file is a PHP template that is included with every WordPress theme.

It is stored in the theme’s directory and serves as a template for creating a web page’s header section. The header.php file is always included in the page template when a WordPress site is loaded, allowing it to be shown consistently across all pages and sources.

Example of header.php - Astra theme

Example of header.php – Astra theme

The role of the header.php file in WordPress themes

The header.php file is in charge of containing the items that display at the top of a web page. It provides the structure and markup required for the browser to appropriately comprehend and display the information. Developers can customize numerous parts of the website’s header area, such as the logo, navigation menu, and extra custom components, by editing the header.php file.

Components of the header.php file

The header.php file is made up of various components that work together to generate a WordPress website’s header section. These elements are as follows:

HTML doctype declaration

The header.php file begins with an HTML doctype declaration that specifies the HTML or XHTML version used in the content. It guarantees that the browser correctly reads the page and adheres to the necessary standards.

Opening <html> tag

The header.php file begins with an HTML doctype declaration that determines whether the content is in HTML or XHTML. It ensures that the browser understands the page correctly and follows the relevant standards.

<head> section

The header.php file starts with an HTML doctype declaration, which indicates whether the content is in HTML or XHTML. It guarantees that the browser correctly interprets the page and adheres to the appropriate standards.

<body> section

After the <head> section, the <body> section begins. This is where the main content of the website resides, including the header, navigation menu, and other page-specific elements.

WordPress navigation menu

Typically, the header.php file contains code that displays the WordPress navigation menu. This menu helps users simply browse through the website’s many sections and pages.

Custom logo and site title

Website owners can add their own custom logo and site title to the header.php file. They may change the default WordPress logo and site title with their branding components by editing the required code.

Dynamic content integration

WordPress has a number of template tags that allow developers to dynamically display material in the header area. This can include the title of the post/page, author information, publishing date, or any other relevant information.

JavaScript and CSS inclusion

WordPress includes a variety of template tags allowing developers to show content in the header section dynamically. This might include the post’s or page’s title, author information, the date it was published, or additional relevant information.

What is a PHP header redirect?

A PHP header redirect is an approach used within a PHP script to redirect a visitor to a different web page or URL. It’s done with the header() method, which at first sends an HTTP header along with the server’s response. By specifying an intended destination in the “Location” header field, the browser will redirect itself to that page.

Here’s an example of how to use header redirect in PHP:

// Redirect to a different page
header("Location: http://example.com/new-page.php");

The browser gets redirected to the provided URL after running the redirect code. It is vital to remember that the header redirect must be called before any HTML text, including whitespace, is sent to the browser, as headers must be delivered before the actual content. Furthermore, the exit line is usually used after the redirect to guarantee that no more code is performed.

Header redirects are widely used to guide visitors to the right sites in circumstances like as form submissions, login systems, and after specific actions are completed.

Customizing the header.php file - NinthEngine

Customizing the header.php file

Want to know how to edit a header.php file in WordPress?

Before customizing the header.php file, it is best to develop a child theme to change the content in the header.php file.

A child theme inherits the parent theme’s functionality and design while permitting changes to particular template files such as the header.php file. Any modifications made to the header.php file will be retained throughout theme updates if you create a child theme.

You may change the style and structure of the header by modifying the HTML and CSS code in the header.php file. To achieve the desired design, website owners and developers can add or delete pieces, reorganize the structure, or apply custom styles.

Different ways to customize your header.php file

  1. Plugins
  2. Default theme editor
  3. Editing it manually


There are many plugins that will let you customize the header.php with ease. Here are some of them you may want to consider:

  1. WP Code
WPCode - NinthEngine

WPCode is a WordPress plugin that enables users to simply add custom code snippets to their site’s header or footer.

It provides a simple and easy interface for entering JavaScript, CSS, HTML, or any other code right into a WordPress site’s header or footer area. This plugin is very beneficial for web developers, designers, and anybody else who wants to edit the header.php file, moreover to add code snippets for tracking codes, analytics, custom styles, or other purposes without having to edit the theme files.

WPCode allows users to easily maintain and update their code snippets without requiring considerable coding skills. The plugin is available from the WordPress plugin repository. Download it here.

  1. Insert Headers And Footers

The Insert Headers and Footers plugin is a popular WordPress plugin that allows you to effortlessly insert custom code snippets into your site’s header or footer sections.

It has an easy-to-use interface that allows you to add code without altering the theme files. This plugin is particularly handy for inserting tracking codes, analytics scripts, custom CSS styles, or any other code into the header or footer.

The Insert Headers and Footers plugin automates the procedure by removing the requirement for technical coding skills. It is extensively used by website owners and developers and can be found in the official WordPress plugin library.

Default theme editor

You can easily edit the header.php file by going to Appearance -> Theme File Editor -> Theme Header

Before doing any edits, we highly recommend you back up your website so that if anything goes bad, you can recover your fully functional website through the backup created.

When it comes to the default theme editor option, this method is very well-known to website developers and designers. It is one of the classic ways to edit or change header.php settings.

Editing it manually using the theme header editing option

For editing the header using the default option of your theme editor, go to Appearance -> Customize

This will take you to the theme customization area.

Here go to the Header option.

Now you can play with the various settings based on which theme you are using. Every theme will have a different customization option.

You can change the looks and functions as per your needs and hit the Publish button once done to save the changes.

Some themes also allow you to add custom CSS code.

Best practices for working with the header.php file

When handling the header.php file, best practices must be followed to guarantee a smooth development process and compatibility with future upgrades. Among the finest practices are:

1. Creating a child theme

Setting up a child theme prior to modifying the header.php file is critical for various reasons.

For starters, it guarantees that any changes made to the theme’s header are retained during theme upgrades. It also makes maintenance and organization easier by isolating modified code from the parent theme.

Finally, it eliminates the possibility of losing changes or damaging the website as a result of direct updates.

Steps to setup a child theme:

To create a child theme, follow these steps:

  1. Create a new folder in the “wp-content/themes” directory of your WordPress installation.
  2. Inside this new folder, create a new CSS file and name it “style.css”.
  3. Open the “style.css” file and add the following code as a minimum requirement:
   Theme Name: Child Theme Name
   Template: parent-theme-folder-name

Replace “Child Theme Name” with the desired name for your child theme, and “parent-theme-folder-name” with the name of the parent theme’s folder.

  1. Optionally, you can add any additional CSS code to modify the styling of your child theme.
  2. Create a new PHP file in the child theme’s folder and name it “functions.php”.
  3. Inside the “functions.php” file, you can add custom functions or modifications by using appropriate hooks and filters.
  4. Activate the child theme from the WordPress dashboard under “Appearance” -> “Themes”.

With this process, your child theme is ready for personalization while keeping the functionality of the parent theme and allowing for future upgrades.

source: https://www.youtube.com/@ferdykorpershoek

2. Backup original file

Before making any modifications, always make a backup of the original header.php file. This guarantees that you may restore to the original version if necessary.

3. Try using WordPress hooks

Instead of manually editing the header.php file, use WordPress hooks such as the wp_head() and wp_nav_menu() methods to add, delete, or alter header content.

4. Clearing the code structure

Maintain clean and understandable code in the header.php file by correctly indenting, commenting, and arranging your changes. This is useful for maintenance and troubleshooting.

5. Responsiveness testing

Check that the header shows properly on various devices and screen sizes. Test responsiveness to ensure that your changes do not disrupt the layout on mobile or tablet devices.


The header.php file in WordPress is an important component of theme creation since it generates the website’s header section. It serves as the framework for displaying important features like the site title, navigation menu, and custom branding. Website administrators and programmers can build aesthetically appealing and effective websites that meet their individual needs by knowing and altering the header.php file.

Frequently Asked Questions (FAQs)

Can I modify the header.php file directly in the parent theme?

No, it is not recommended to modify the header.php file directly in the parent theme. Instead, create a child theme and make modifications there to avoid losing changes during theme updates.

How can I add a custom logo to the header?

To add a custom logo to the header, modify the appropriate code within the header.php file or use a theme customization option if available. You may also consider using a WordPress plugin that offers logo management capabilities.

Can I include JavaScript files in the header.php file?

Yes, you can include JavaScript files in the header.php file by adding the appropriate code. However, it is generally recommended to enqueue JavaScript files using WordPress functions for better optimization and compatibility.

What is the purpose of the <head> section in the header.php file?

The header.php file’s head> section contains meta tags, CSS stylesheets, and JavaScript scripts. It supplies information to search engines, specifies the design of the website, and allows for additional functionality.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top