Skip to content

How to add a new blog post

Blog posts use the stock WordPress Posts UI — no custom metabox required. The theme picks up categories, featured image, excerpt and content automatically and renders them in the site's design language.

Quick version (for someone who's done it before)

  1. Posts → Add New
  2. Enter the article title
  3. Write the body in the editor (headings, paragraphs, lists all supported)
  4. Set an Excerpt (Screen Options → Excerpt checkbox to enable) — this becomes the lede on the single post + the summary on cards
  5. Assign a Category (right sidebar)
  6. Set a Featured Image (right sidebar)
  7. Publish

Post immediately appears at /<slug>/, the blog index /blog/, and — if it's assigned to a category — the category archive /category/<slug>/.

Once you have a few posts published, the list view looks like this:

Posts list


Field-by-field walkthrough

Posts → Add New — the standard Gutenberg editor. There's no custom metabox for blog posts (unlike reviews). The Meta Boxes panel that appears collapsed at the bottom is an empty container from WordPress core — safe to ignore.

Posts → Add New

Title

Used on the single-post hero (big left-aligned h1) and on cards across the site.

Body (main editor)

Rendered inside .post-prose. The first paragraph gets a drop-cap treatment automatically. Bold headings (H2, H3) inherit the site's serif type.

Excerpt

Two purposes:

  • Cards — the excerpt is the summary text under the title on the blog index and related-posts row
  • Single-post lede — if set, renders as a larger intro paragraph directly under the title (.post-lede)

If you leave excerpt empty, WordPress auto-generates one from the first ~55 words. It's cleaner to write one yourself.

Category (right sidebar)

The theme uses the standard WordPress Categories taxonomy for blog posts (separate from Review Categories which are for the review CPT).

Posts → Categories

Primary category is the first non-uncategorized category (see tpb_post_primary_category() in inc/template-tags.php). It drives:

  • The eyebrow pill on the single-post hero
  • The glyph fallback if there's no featured image
  • The category filter chip that shows as "active" when a visitor lands on the post
  • The "Keep reading" row (up to 3 related posts from the same category)

Adding a new category: Posts → Categories → Add New Category. The category will auto-appear in the blog's filter chip row on the next page load. No theme edit needed.

Blog category chips — the primary six show first with their short labels (CRM, Email, SEO, Funnels, Forms, Project mgmt). Any additional category you create with posts assigned auto-appears at the end of the chip row.

Used as the hero image on the single-post page and as the card thumbnail on the blog index / related-posts row. Recommended dimensions: 1200 × 675 (16:9). PNG or JPG both fine.

If no featured image is set, the theme falls back to a category-glyph icon on a tinted background — still looks intentional, just less unique.

Auto-generated from the title. Edit if you want something shorter or more SEO-friendly (e.g. best-crm-with-ai-2026 instead of best-crm-with-ai-in-2026-what-actually-helps).


Publishing checklist

Before hitting Publish:

  • [ ] Title set
  • [ ] At least one category assigned (otherwise "Uncategorized" is used and the eyebrow reads "Uncategorized")
  • [ ] Excerpt filled (1–2 sentences — becomes the lede + card summary)
  • [ ] Featured image set (or accept the category-glyph fallback)
  • [ ] Slug reviewed

Once published, load /<your-slug>/ and check:

  • Hero renders (title, category eyebrow, meta row, featured image or glyph)
  • Body prose displays with drop cap on the first paragraph
  • Sidebar shows newsletter card + top 3 reviews
  • "Keep reading" row shows up to 3 related posts (only if others exist in the same category)

Jump-To sidebar (auto-generated table of contents)

Every single blog post gets a sticky "Jump To" card at the top of the sidebar. It's built automatically from the H2 and H3 headings in the post body — no configuration needed. As you scroll, the current section pill highlights in indigo.

How to control what appears

  • Use H2 for top-level sections (renders in the TOC as a full-weight link)
  • Use H3 for sub-sections (renders indented, in a lighter colour)
  • The TOC uses each heading's exact text — write clear, short headings
  • The order in the TOC matches the order in the article

When the TOC won't appear

  • If a post has zero H2 and H3 headings, the TOC card is skipped and the sidebar just shows the newsletter + featured reviews (both scroll normally, nothing pins).
  • If you want a TOC on a post that doesn't have one, open the editor and add H2 headings to break the article into sections.

Each heading gets an auto-generated slug ID (e.g. "Where it works well" → #tpb-where-it-works-well). Anyone can link directly to a section by appending #tpb-<slug> to the post URL — useful for sharing.

If two headings have identical text, the second gets a -2 suffix to stay unique.


The sidebar renders next to every single-post body (stacks below on mobile at <900px).

Newsletter card:

  • Title, blurb, and Fluent Forms shortcode are all editable via Appearance → Customize → Blog Sidebar
  • If no shortcode is set, a styled placeholder form renders (visually identical, non-functional)
  • To wire it up: install Fluent Forms → create a newsletter form → copy the shortcode (e.g. [fluentform id="2"]) → paste into the Customizer field

Featured reviews mini-list:

  • Renders the top 3 published reviews ordered by their Overall score (from the Review data metabox)
  • Updates automatically as reviews are added or their scores change
  • Each card links to the single-review page

There's no way to manually override the featured reviews list — it's score-driven. If you want a specific review to sit at the top, bump its Overall score higher than the current #1.


Category archives

Each category has its own archive at /category/<slug>/. The design matches the main /blog/ — same hero, same chip row, same card layout — only the filtered grid changes. This is intentional so the site feels cohesive when someone clicks through from a footer link.

The chip matching the current archive is highlighted as active.


Comments

Comments are enabled by default. Renders as .rv-block (the same treatment as review comments) — full-width card with a "Join the discussion" heading, subtle per-comment card treatment, and the standard WordPress comment form.

To disable comments globally: Settings → Discussion → uncheck "Allow people to post comments on new articles". To disable on a per-post basis: use the Discussion metabox (Screen Options → Discussion to enable it).

Settings → Discussion


What the theme does NOT do

  • No custom fields for blog posts — everything comes from stock WP (title, excerpt, categories, featured image, content).
  • No "featured post" flag — the blog index picks the most recent post as the featured hero card. To rotate a specific post into the featured slot, publish (or re-publish) it more recently.
  • No blog tags UI — WordPress tags are still available but no template renders them. Categories are the primary organization.

ToolPlaybook theme handoff docs