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
| Name | Purpose |
|---|---|
EPIKTETOS_VERSION | Current theme version. |
EPIKTETOS_DIR | Filesystem path to the theme directory. |
EPIKTETOS_URI | Theme 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.
| Shortcode | Purpose |
|---|---|
[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.
| Item | Detail |
|---|---|
| Meta key | _epiktetos_article_voiceover_audio_id |
| Editor UI | Side meta box on post edit screens. |
| Asset picker | Native WordPress Media Library filtered to audio attachments. |
| Frontend output | Single posts only, before article body tools. |
| Fallback | Native <audio controls> remains available when JavaScript is unavailable. |
REST route
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:
- Confirm
style.css,readme.txt,CHANGELOG.md, and release notes all use the same version. - Run PHP syntax checks across theme PHP files.
- Build a ZIP whose root folder is
epiktetos/. - Exclude local WordPress runtime files,
.DS_Store,node_modules,vendor,.envfiles, logs, backups, screenshots used for QA, andphpcs.xml.dist. - Validate the ZIP contents before upload, including
style.css,readme.txt,theme.json, andscreenshot.png. - 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.