Codex

Interested in functions, hooks, classes, or methods? Check out the new WordPress Code Reference!

Talk:Theme Review

I think an accidental clerical error led to header.php being listed as required template file.

There are 3 related but separate issues to be expressed in the guidelines: 1. When using get_header(), the header.php is a REQUIRED file. 2. When including header.php, get_header() is REQUIRED to do so. 3. Using the get_header()/header.php combination should be RECOMMENDED.

Point 1: Arises from the deprecation of template fall-backs (see Legacy Theme Support).

Point 2: That header.php is required to be included via the get_header() method (as opposed to get_template_part() I suppose) rather than the including of the file itself being required.

Point 3: The header.php statement is of a kind with the footer.php and sidebar.php statements; These files and template tags serve the same purposes. footer.php and sidebar.php are recommended and so should header.php be.

I think the edit was intended to stress the first two REQUIRED points, and not because usage of the get_header()/header.php combination itself was supposed to be required.

(To contrast, the requirement of a similar but different case: comments.php. It confers functionality that can be seen as not optional in any quality theme. Yet, header.php imparts no functionality to the theme whatsoever. At best, it enforces a coding best practice.)

For these reasons, I've moved it back.