Templates
Boilerplate templates follow the normal WordPress theme structure: vanilla PHP files, WordPress template hierarchy conventions, shared layout partials, and reusable post partials. The theme intentionally avoids heavier templating engines such as Twig or Blade in favor of the KISS method.
Template Philosophy
Use normal WordPress PHP templates. Boilerplate keeps template behavior congruent with how classic WordPress themes are normally organized so developers can rely on familiar WordPress conventions, override files predictably in child themes, and avoid an extra abstraction layer.
Use this for: maintainable theme development, straightforward child theme overrides, easier onboarding, and compatibility with normal WordPress expectations.
Page Templates
Page templates handle standard WordPress page output and should stay focused on page-specific behavior. Shared wrappers belong in layout partials.
Primary file: page.php
Use this for: normal WordPress page rendering and child-theme page template overrides.
Single Post Templates
Single post rendering is handled by the standard single template. Boilerplate keeps post article markup, tools, and comments split into partials where appropriate.
Primary file: single.php
Related partials: partials/posts/article_single.php, partials/posts/tools.php, comments.php
Use this for: single post structure, post tools, comments integration, and child-theme single post overrides.
Archive Templates
Archive templates handle date-based archives and other archive-style listing views. Listing output is delegated to the shared loop partial.
Primary file: archive.php
Related partial: partials/posts/loop.php
Use this for: date archives, archive headings, and standard archive listing behavior.
Category / Tag / Author / Date Support
Boilerplate includes standard taxonomy and author archive templates so common WordPress listing pages behave predictably.
category.php– category archive outputtag.php– tag archive outputauthor.php– author archive outputarchive.php– date archive output
Related partial: partials/posts/loop.php
Use this for: WordPress-native archive pages without custom routing or a separate templating system.
Search Template
The search template handles search result pages and delegates repeated result output to the shared post loop and summary partials.
Primary file: search.php
Related files: searchform.php, partials/posts/loop.php, partials/posts/summary.php
Use this for: search result pages, empty search handling, search result summaries, and child-theme search customizations.
404 Template
The 404 template renders the not-found page using the same shared layout wrapper as the rest of the theme.
Primary file: 404.php
Use this for: not-found messaging, custom 404 content, and child-theme 404 overrides.
Loop Partial
The loop partial owns repeated listing behavior. Archive, index, category, tag, author, and search templates should reuse this instead of duplicating loop markup.
Primary file: partials/posts/loop.php
Use this for: shared post listing behavior and pagination integration.
Summary Partial
The summary partial owns repeated post-card/listing output for archive-style views. Keep summary markup here instead of repeating it across individual templates.
Primary file: partials/posts/summary.php
Use this for: archive cards, search results, excerpt output, post type badges, thumbnails, and listing-level post metadata.
Layout Partials
Templates should use shared layout partials for global page structure. This keeps wrappers, navbar/header/content/sidebar/footer structure out of individual template files.
partials/layout/top.php– opens the shared layoutpartials/layout/bottom.php– closes the shared layout
Use this for: shared page chrome and consistent template structure.
Child Theme Overrides
Child themes may override templates and partials by providing matching files where WordPress and get_template_part() will resolve them. Prefer overriding the smallest practical file.
Example: override partials/posts/summary.php for listing card changes instead of copying every archive template.