Skip to content
Epiktetos Theme1.2.0
1.2.03 min read

Developer Notes

Constants, shortcodes, option areas, REST routes, and extension notes for Epiktetos.

This page summarizes developer-facing implementation details discovered in the theme code.

Constants and helpers

NamePurpose
EPIKTETOS_VERSIONCurrent theme version.
EPIKTETOS_DIRFilesystem path to the theme directory.
EPIKTETOS_URITheme directory URI.
epiktetos_asset_ver()Returns file modification time for an asset or falls back to the theme version.

Shortcodes

Epiktetos uses shortcode-rendered sections inside block templates.

ShortcodePurpose
[epiktetos_logo]Header logo output.
[epiktetos_header_nav]Header navigation output.
[epiktetos_header_actions]Header action controls.
[epiktetos_search_panel]Header search panel.
[epiktetos_footer]Footer output.
[epiktetos_hero]Homepage hero.
[epiktetos_latest_articles]Homepage latest posts.
[epiktetos_category_showcase]Homepage category showcase.
[epiktetos_sidebar]Homepage/sidebar editorial area.
[epiktetos_single]Single post layout.
[epiktetos_search]Search results template output.
[epiktetos_archive]Archive output.
[epiktetos_author]Author archive output.
[epiktetos_tag]Tag archive output.
[epiktetos_topics]Topics page output.
[epiktetos_page]Standard page output.
[epiktetos_about]About page output.
[epiktetos_contact]Contact page output.
[epiktetos_saved]Saved articles output.
[epiktetos_404]404 output.

Options and settings

The admin/settings classes manage option groups for general theme options, branding, header, footer, single posts, discussion, taxonomy, reader, SEO, about, category ordering, and dynamic module labels.

Version 1.2.0 adds a dynamic module label layer so shortcode-rendered sections can read public-facing labels from Theme Settings instead of hard-coded PHP strings.

Article Voiceover

Version 1.1.0 adds Epiktetos_Voiceover.

ItemDetail
Meta key_epiktetos_article_voiceover_audio_id
Editor UISide meta box on post edit screens.
Asset pickerNative WordPress Media Library filtered to audio attachments.
Frontend outputSingle posts only, before article body tools.
FallbackNative <audio controls> remains available when JavaScript is unavailable.

REST route

Code
GET /wp-json/epiktetos/v1/search?search=query

The route returns public post search results and is intended for the theme search UI.

Release process

For a clean release:

  1. Confirm style.css, readme.txt, CHANGELOG.md, and release notes all use the same version.
  2. Run PHP syntax checks across theme PHP files.
  3. Build a ZIP whose root folder is epiktetos/.
  4. Exclude local WordPress runtime files, .DS_Store, node_modules, vendor, .env files, logs, backups, screenshots used for QA, and phpcs.xml.dist.
  5. Validate the ZIP contents before upload, including style.css, readme.txt, theme.json, and screenshot.png.
  6. Push the matching source commit to GitHub.

Version 1.2.0 follows this flow and keeps Article Voiceover, local Sample Content, favicon handling, and listing thumbnail fixes on top of the editable page workflow.

Extension caution

The theme exposes useful filters and shortcodes, but it does not declare a formal public PHP API. Treat internal class methods as implementation details unless they are documented as hooks or filters.

Related articles