wordpress-plugin-to-emdash

Maps WordPress plugin concepts to EmDash CMS equivalents for TypeScript plugin porting.

Updated Aug 14, 2026
One-click install
npx skills add https://github.com/tatran0195/emdash-with-docs --skill wordpress-plugin-to-emdash-tatran0195
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: wordpress-plugin-to-emdash
Source: https://github.com/tatran0195/emdash-with-docs/tree/main/skills/wordpress-plugin-to-emdash
Command: npx skills add https://github.com/tatran0195/emdash-with-docs --skill wordpress-plugin-to-emdash-tatran0195

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Migrating a WordPress plugin to EmDash CMS requires translating PHP-era concepts like hooks, shortcodes, WP_Query, and the Options API into EmDash's TypeScript plugin model, which is error-prone without a systematic mapping. ## Core Features & Use Cases - Concept Mapping Tables: Provides side-by-side mappings for content types, taxonomies, menus, widgets, admin UI, hooks, and plugin storage between WordPress and EmDash APIs. - Porting Patterns: Includes code examples for converting shortcodes to Portable Text blocks, options to plugin KV, custom tables to storage collections, and seed data for default taxonomies and menus. - Red Flag Detection: Identifies WordPress features without direct equivalents (multisite, cron jobs, direct SQL) that need human architectural decisions. - Use Case: Given a WordPress contact form plugin using custom tables and shortcodes, produce an EmDash plugin descriptor with storage collections, a Portable Text block, and an Astro rendering component. ## Quick Start Port this WordPress plugin to EmDash by mapping its hooks, shortcodes, and database tables to EmDash equivalents.

Frequently Asked Questions about wordpress-plugin-to-emdash

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

FAQPage Schema
How do I migrate a WordPress plugin to EmDash CMS?▼

Analyze what the plugin does conceptually, map its WordPress constructs (post types, hooks, shortcodes, options) to EmDash equivalents using the mapping tables, then implement clean-room in TypeScript using definePlugin rather than porting line by line.

What replaces WordPress shortcodes in EmDash?▼

WordPress shortcodes become Portable Text custom block types declared in definePlugin, with block fields replacing shortcode attributes and an Astro component replacing the render function. This is a trusted-plugin-only feature.

How do I convert WordPress custom database tables to EmDash?▼

Custom tables created with $wpdb map to EmDash plugin storage collections declared in definePlugin with indexes. Use ctx.storage.collectionName.put and query instead of raw SQL inserts and selects, with no migrations needed.

Does EmDash support WordPress multisite or cron jobs?▼

No. Multisite features are not supported, and wp_schedule_event has no direct equivalent, requiring platform-level cron instead. These are flagged as red flags needing human architectural decisions during porting.

What is the EmDash equivalent of get_option and update_option?▼

The WordPress Options API maps to the plugin-scoped KV store: ctx.kv.get, ctx.kv.set, and ctx.kv.delete. Unlike global WordPress options, EmDash KV keys are automatically namespaced to the plugin, so no prefix is needed.