Docs
Newsletter templates
Pro plugin feature. Templates give your daily edition a structured layout instead of the plain-prose default — a dated masthead, a sensory opener, a feature article with subhead, named sub-sections with eyebrow labels, a referral prompt, and a styled footer.
Where to find it
Newsletter → Templates. Menu entry only appears once the pro plugin is active.
Newsroom — the shipped template
Editorial daily-edition format inspired by the Love Netherlands / Picardi master format. The structure, top to bottom:
- Dated masthead — today’s date and your brand name, centred above a thin rule.
- Italic opener — “Dear [audience],” followed by 2–3 sensory sentences setting today’s mood. Serif font (Georgia / Iowan Old Style). Rotates each issue — never the same opener twice in a row.
- Feature article — large headline, italic one-sentence subhead/dek, 2–4 paragraphs of body, a “Read the full story” call-to-action.
- Three named sub-sections — each with an uppercase eyebrow label (e.g.
TACTIC,READER QUESTION,FROM THE ARCHIVE), a sentence-case heading, 60–100 words of body, a verb-led CTA. - Referral prompt — “Know someone who would like this?” forward CTA in a cream-coloured callout.
- Footer — site name, unsubscribe link.
Style
- Headings sans-serif, navy, 800 weight, slight negative letter-spacing.
- Eyebrow labels uppercase, light grey, 1.5px letter-spacing, 700 weight, with a thin top rule.
- Italic body uses Georgia / Iowan Old Style, 17–18px, line-height 1.7.
- Brand accent colours: navy
#1a2744, orange#FF6B1A, cream#fff4eb, link blue#1a6ac2.
Generating with a template
- Newsletter → Templates.
- Pick a template (Newsroom is the only one shipped — your custom templates appear here too).
- Set tone, length, optional topic / focus.
- Click Generate with template. Claude is called with the template’s structured prompt; the response is parsed into Subject + body.
- Draft opens in the editor like any other newsletter. Subject line is set, body contains the full structured HTML, sub-section CTAs have placeholder
#hrefs for you to fill in.
Per-newsletter template selection
The chosen template is stored in _otts_template post meta. The free plugin’s Newsletter → New Newsletter page still produces plain (unstyled) drafts; only drafts created from Templates carry the template marker.
Send-time rendering
The HTML body in post_content uses semantic class names (otts-opener, otts-feature-title, otts-eyebrow, otts-cta etc.). At send time, the pro plugin hooks otts_render_for_subscriber at priority 5 and wraps the body in the template’s styled email shell — masthead, brand-coloured CSS, footer. Plain-template (or no-template) newsletters use the free plugin’s default shell.
Editing template drafts
Drafts open in the standard WordPress visual editor. The HTML structure is visible — eyebrow headings, sub-section bodies, CTA links — and you can edit text, swap CTAs, reorder paragraphs. Avoid stripping the class attributes on tags (otts-opener, otts-eyebrow, etc.) because the send-time renderer keys off them. If you remove a class, the affected element falls back to default styling.
Voice rules baked into the prompt
- British English throughout
- No emoji
- No “ultimate / epic / must-read / game-changer / unleash”
- No “in this issue” boilerplate
- Vary the opener every issue — Claude is told never to start two issues the same way
- Sub-section CTAs are verb-led (“Read more”, “See the breakdown”, “Try it yourself”)
To override these rules for your own brand, write a custom template (next section) or extend the directive via your Site Context manual description.
Adding custom templates (developers)
Subclass OTTS_Pro_Template_Base and call OTTS_Pro_Templates::register() at plugins_loaded. Implement four methods:
slug()— unique key, e.g.digestlabel()— human-readable name shown in the dropdowndescription()— one-paragraph explanationbuild_prompt( array $args )— return the full Claude prompt for your template structurerender_email( string $content_html, WP_Post $post, array $subscriber )— wrap the stored HTML in your styled email shell
Once registered, your template appears in Newsletter → Templates and works the same way as Newsroom.
Next: Auto Content.
Plugin screenshots


