Skip to content

Theming ​

Convocept draws its own design and takes only the font family from your theme, so it looks the same in every theme without changes. When you want more control, restyle it with CSS custom properties first, and override templates only for changes to the markup.

Colour schemes ​

Appearance sets the scheme. The thread wrapper carries it as data-convocept-theme:

Settingdata-convocept-themeColours
Light (default)lightBuilt-in light palette on a white card.
DarkdarkBuilt-in dark palette on a dark card.
Follow the reader's devicesystemLight or dark palette from the reader's prefers-color-scheme.

The accent colour (links, buttons, focus rings) is set on the same page.

CSS custom properties ​

Everything is scoped under #comments.convocept. Inside it, theme styles are reset to the browser's defaults, and Convocept's rules use that ID so theme rules for comment sections (#respond input, .entry-content button) don't reach the thread. Override tokens, not selectors. The token defaults have no specificity, so any rule in your theme's stylesheet wins:

css
.convocept {
	--convocept-radius: 4px;
	--convocept-font: Georgia, serif;
}

/* Only the dark palette. */
.convocept[data-convocept-theme="dark"] {
	--convocept-bg: #000;
}

Set the accent colour on the Appearance page rather than in CSS: it is applied to the thread itself, so it wins over stylesheet rules.

PropertyUsed for
--convocept-accentButtons, focus rings, selected states.
--convocept-on-accentText on accent-coloured buttons.
--convocept-linkLinks and other accent-coloured text (by default the accent mixed toward the text colour, for contrast).
--convocept-dangerSpam/Trash actions and error messages.
--convocept-textMain text.
--convocept-bgThe thread's card background.
--convocept-mutedDates, counts, secondary actions.
--convocept-borderThe card border and dividers.
--convocept-border-strongForm fields and the reply thread line.
--convocept-surfaceTabs, the sort switch, badges, the follow panel.
--convocept-field-bgForm fields.
--convocept-warning, --convocept-warning-lineA moderator's view of comments waiting for approval.
--convocept-radiusCorner radius of the card.
--convocept-max-widthWidest the thread gets (default 720px).
--convocept-gapSpacing between comments.
--convocept-avatarAvatar size of top-level comments (replies use 28px).
--convocept-font, --convocept-font-sizeTypeface (default: the theme's) and base size (default 15px).

Sizes are in pixels, so themes that change the page's root font size don't shrink or grow the thread.

Keep text contrast at 4.5:1 or more when you change colours; the built-in values are checked against WCAG 2.2 AA.

Replacing the stylesheet ​

Convocept inlines its small stylesheet right before the thread (no extra request). A theme that styles the thread completely can remove it:

php
add_filter( 'convocept_inline_css', '__return_empty_string' );

Overriding templates ​

Copy a file from wp-content/plugins/convocept/templates/ to your-theme/convocept/ and edit the copy. Convocept uses the theme's copy from then on (child themes first, then the parent).

TemplateRenders
thread.phpThe whole section: header, form, list, pagination.
thread-header.phpComment count and the sort links.
comment.phpOne comment (and, recursively, its replies).
composer.phpThe comment form. It works without JavaScript; keep its data-convocept-* attributes, the script relies on them.
pagination.phpPage links and "Load more comments".
subscribe-form.php"Get new comments by email".
subscription-manage.phpThe page where readers manage subscriptions. It uses the thread's styles and tokens (its wrapper is #comments.convocept too).
emails/*.phpConfirmation and notification emails (HTML and plain text).

Each template starts with a comment listing the $args it receives. After updating Convocept, compare your copies with the new originals.

The convocept_locate_template filter changes where a template is loaded from.

Small changes without templates ​

  • convocept_thread_classes: add classes to the thread wrapper.
  • convocept_comment_badges: add badges next to an author name (for example "Member").
  • convocept_comment_view: change any value a comment template receives.

See the Developer Docs for every filter.