wordpress-theme-to-emdash

Convert WordPress themes into EmDash CMS themes through a six-phase migration workflow.

1|Updated Apr 25, 2026
One-click install
npx skills add https://github.com/rczamor/rz-emdash --skill wordpress-theme-to-emdash-rczamor
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: wordpress-theme-to-emdash
Source: https://github.com/rczamor/rz-emdash/tree/main/skills/wordpress-theme-to-emdash
Command: npx skills add https://github.com/rczamor/rz-emdash --skill wordpress-theme-to-emdash-rczamor

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Porting a WordPress theme to a modern TypeScript CMS requires manually translating PHP templates, extracting design tokens, and rebuilding CMS-driven features like menus and widgets, which is error-prone and time-consuming. ## Core Features & Use Cases - Six-Phase Migration Workflow: Structured phases covering discovery, design extraction, template conversion, dynamic features, seed content, and visual verification. - PHP to Astro Template Mapping: Converts WordPress template hierarchy (single.php, archive.php, category.php) into server-rendered Astro routes using EmDash APIs like getEmDashEntry and getMenu. - Design Token Extraction: Pulls CSS variables, fonts, and colors from style.css or theme.json into an EmDash global stylesheet. - Use Case: Given the Twenty Twenty-Four WordPress theme, capture demo screenshots, extract its design system, convert its templates to Astro components, seed demo content, and visually compare the ported site against the original. ## Quick Start Port the WordPress theme at this URL to an EmDash theme, starting by copying the scaffold and capturing screenshots of the demo site.

Frequently Asked Questions about wordpress-theme-to-emdash

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I convert a WordPress theme to Astro?▼

Follow the six-phase workflow: download the theme source, screenshot the demo site, extract CSS variables and fonts, map PHP templates to Astro routes, implement menus and taxonomies with EmDash APIs, then seed content and visually compare output against the original.

How to migrate WordPress menus and widgets to a headless CMS?▼

Identify register_nav_menu and register_sidebar calls in functions.php, then recreate them using EmDash getMenu and getWidgetArea APIs. Menus and widget areas can be defined in the seed file or created through the admin UI.

Can I use getStaticPaths for EmDash content pages?▼

No, EmDash content pages must be server-rendered because content changes at runtime through the admin UI. Use Astro params with getEmDashEntry and redirect to 404 when an entry is missing.

Does this work with WordPress block themes using theme.json?▼

Yes, block themes store design tokens in theme.json, which the design extraction phase converts into EmDash CSS variables for colors, typography, spacing, and layout widths.

Why does my seed file fail validation?▼

Common causes are image fields using raw URLs instead of $media syntax, references using raw IDs instead of $ref:id format, or PortableText content missing the _type property. Run emdash seed --validate to identify specific errors.

What license applies to a ported WordPress theme?▼

WordPress themes are GPL-licensed, so ported themes need a GPL-2.0 LICENSE file, a README crediting the original theme, and the license field set to GPL-2.0-or-later in package.json.