This is a custom WordPress theme built from scratch, accompanied by an integrated event calendar plugin. The project was developed for a fictional company offering therapy services.
The goal was to create a calm, reliable, and modern website that fully supports the WordPress Gutenberg block editor (in the spirit of Full Site Editing) without relying on heavy pre-made themes or page builders (like Elementor). More than production-ready code, this is a learning project to gain insight into the core mechanics and fundamental architecture of WordPress.
- Clean and lightweight code: The theme is coded from scratch, keeping bloat to an absolute minimum. It only loads the assets that are actually needed.
- Full Gutenberg support: The default styling of Gutenberg blocks (CSS:
.wp-block-columns,.alignfull, etc.) has been seamlessly overridden to match the site's custom brand identity. - Framework-free responsiveness: The website is fully mobile-optimized using modern CSS (Flexbox, CSS Grid) without relying on heavy frontend libraries like Bootstrap.
- Typography and accessibility: A carefully considered color palette (calming greens and warm beiges) combined with clear, responsive typography.
- The theme includes a separately coded event calendar plugin.
- Custom Post Types (CPT): Events are created and managed as their own dedicated post types within the WordPress admin dashboard.
- Grid Layout: Events are output to the front page and archive pages using a responsive CSS Grid, where each event is styled as a card.
- Languages: PHP, CSS3, HTML5, JavaScript (where necessary)
- Platform: WordPress Core & Gutenberg Editor
- Architecture: Mobile-first approach, Flexbox & CSS Grid
- Building a Custom Theme from Scratch: Gaining understanding of the WordPress template hierarchy and how to construct a lightweight theme without relying on bloated page builders. I learned how to build a seamless bridge between custom frontend code and the native Gutenberg editor.
- Developing a Custom Plugin: Understanding the separation of concerns by keeping core functionality (like the Event Calendar and Custom Post Types) in a dedicated plugin rather than cluttering the theme's
functions.php. I learned how to register Custom Post Types (CPT), query the WordPress database dynamically, and output the data safely to the frontend. - Responsive Images: Managing image behavior and preventing container overflow issues on mobile devices.
- WordPress Hierarchy: Understanding WordPress theme file structures and correctly linking PHP functions.

