WHA Docs

Getting Started

Operational documentation for whallc.com — architecture, deployment, theme system, and day-to-day maintenance.

Operational documentation for the Women's Healthcare Associates website. Covers architecture, deployment, the theme and component system, plugin management, and known issues.

Start Here

  1. Architecture — Directory structure, system diagram, how the pieces connect.
  2. Local Development — Docker setup, theme dev workflow, available commands.
  3. Deployment — Build process, staging and production pipelines, environment variables.
  4. Theme System — wha2025 theme, Tailwind config, component system, ACF integration.
  5. Custom Post Types — All CPTs, their data models, and relationships.
  6. Plugin System — Composer-managed, yax mu-plugins, custom wha plugins, update workflow.
  7. Caching — Cache layers from edge to application, invalidation strategies.
  8. Security — Cloudflare WAF, Nginx hardening, application-level protections.
  9. Operations — Health monitoring, ephemeral storage, logging, deploys, rollbacks.
  10. Developer Reference — Query builder, component system, helper utilities.
  11. Gotchas — Things that will bite you. Read before touching anything unfamiliar.

The Site

PropertyValue
Productionwhallc.com
Stagingstaging.whallc.com, whallc.joeyyax.dev
StackWordPress · PHP · MySQL · Redis · Nginx
Themewha2025
HostingHeroku
CDN/DNSCloudflare
Repo[email protected]:joeyyax/womens-healthcare-associates.git

WordPress core lives at /wp/, managed by Composer via johnpbloch/wordpress-core. Project-owned files live in src/. The front controller at index.php bootstraps WordPress from /wp/wp-blog-header.php.

Branches

BranchPurpose
masterProduction — deploys to whallc.com
stagingStaging — deploys to staging.whallc.com

Feature branches merge to staging for QA, then to master for production.

Quick Reference

Need to...Do this
Start local devnpm run start (Docker) then cd src/wp-content/themes/wha2025 && npm run dev
Build for deploynpm run build (from project root)
Run WP-CLInpm run wp -- <command>
Shell into containernpm run shell
View logsnpm run logs
Flush all cachesdocker compose exec redis redis-cli FLUSHALL && npm run wp -- cache flush
Access wp-admin/wp/wp-admin/ (note the /wp/ prefix)

On this page