WordPress
Lanny Herrera - Language Teacher Website
A real client site in three languages, built as an Astra child theme so the client keeps a WordPress she can actually use.

The problem
A private language teacher sells in three languages to three different audiences, and her site has to speak all of them without turning into three separate sites to maintain. The constraint that shapes everything: she is not a developer. Whatever gets built has to stay editable from wp-admin after the developer leaves, which rules out both a hand-coded static site and a page builder that locks the layout behind a proprietary editor.
Approach
- The site is an Astra child theme rather than a from-scratch theme, so security updates keep flowing from the parent while the customization stays isolated in the child.
- The homepage is a custom front-page template, so the layout is real PHP under version control instead of a page-builder blob that cannot be diffed.
- Every piece of interface copy lives in one strings function keyed by language, with Portuguese as the fallback. Polylang decides the active language and the template pulls the matching set, so adding a language means adding a block of strings, not rebuilding the page.
- Testimonials are a custom post type registered in the theme and explicitly opted into Polylang translation, with a custom admin column so the client can see at a glance what she is editing.
- A bootstrap script creates the initial page structure through the WordPress REST API, making the site reproducible instead of hand-assembled.
What it proves
- Live client site serving Portuguese, Spanish and English from one WordPress install.
- The client edits her own content in wp-admin, including testimonials, with no developer involved.
- Layout and copy are versioned in git as a child theme, so changes are reviewable and reversible.
- Parent theme updates stay safe to apply because no core theme file was modified.
WordPressPHPAstraPolylangContact Form 7Yoast SEOGitHub ActionsCSS3