Blog and archives
The blog index, category filtering, featured posts, and how archives differ from the blog home.
The blog index layout
Four templates share this layout:home.php, archive.php, search.php, and the posts-mode branch of front-page.php.
1
Hero band
A title, a subtitle, a search form, and your top four categories as filter pills. Archives and search results supply their own wording.
2
Featured post
On the blog home only — the first sticky post, or the newest post if none are sticky. It is then excluded from the grid so it is not duplicated.
3
Card grid
A responsive grid of post cards. Posts using the aside post format render as compact cards with content clamped to six lines instead.
4
Pagination
paginate_links() in list mode, with screen-reader-only “previous” and “next” labels.The blog hero
To change them, edit the tagline at Settings → General → Tagline, or override the hero in a child theme. See Child themes.
Category filtering
Category filtering works out of the box through a?vara_cat= query parameter.
1
The hero shows your top four categories
Determined by post count, ordered by number of posts.
2
Clicking a pill filters the grid
The URL becomes
?vara_cat=<term_id> and the grid shows only that category.3
The active pill is highlighted
And marked with
aria-pressed so its state is announced.4
Searching preserves the filter
The search form carries the active category as a hidden field, so searching from a filtered view keeps the filter.
Featured and sticky posts
The blog home highlights one post above the grid.
The featured post renders in a larger two-column card and is removed from the grid below, so it never appears twice.
To feature a specific post, edit it and set Visibility → Stick to the top of the blog.
Archives do not feature a post. Only the blog home does. Category, tag, author, and date archives go straight to the grid.
Post cards
Each card shows:
Aside post format
Posts using the Aside post format render as compact cards — a labelled date link, the content clamped to six lines, and the author. This suits short updates and links without needing a full article treatment. Set it under Posts → Add New → Format → Aside in the sidebar of the editor.Archives
All of them use the same grid and pagination as the blog home.
Search results
Search results come from WordPress core search, not from an external service. If you need relevance ranking, faceted search, or typo tolerance, install a search plugin such as SearchWP or Relevanssi.
Post formats
The theme supports WordPress post formats and renders them distinctly.Controlling the blog
Posts per page
Posts per page
Settings → Reading → Blog pages show at most — a WordPress setting, not a theme setting.
Which page is the blog
Which page is the blog
Settings → Reading → Posts page. The demo import assigns
/blog/ automatically.Front page as blog
Front page as blog
Under Settings → Reading, choosing Your latest posts makes the front page render this same blog layout.
Styling notes
Overflow pills
Overflow pills
Categories and tags collapse behind a ”(+N)” pill when they do not fit. The pill is keyboard operable and uses
aria-expanded and aria-controls.Sticky cards
Sticky cards
A sticky post is marked in the grid so readers can see it is pinned.
Conditional CSS loads only here
Conditional CSS loads only here
The blog index stylesheet is only enqueued on the blog home, archives, and search — not on your marketing pages.
Troubleshooting
The blog page is empty
The blog page is empty
Check Settings → Reading → Posts page points at the right page, and that you have published posts rather than drafts.
No category pills appear
No category pills appear
You need at least one published post with a category. Pillar categories — fewer, used consistently — produce better filtering than many narrow ones.
The hero shows infrastructure text
The hero shows infrastructure text
That is the default demo tagline. Change Settings → General → Tagline or override the hero.
A post appears twice on the blog home
A post appears twice on the blog home
It shouldn’t — featured posts are excluded from the grid. If it does, clear your cache.
