Skills Plugins MCP Prompt Model 博客 我的中心

wordpress-plugin-to-emdash

Port a WordPress plugin to EmDash CMS. Use this skill when asked to migrate, convert, or port a WordPress plugin, theme functionality, or custom post type to EmDash. Provides concept mapping and implementation patterns.

DeepseekModel 官方收录技能 质量 优秀 · 90 v1.0.0

获取

https://deepseekmodel.com/api/download.php?id=emdash-cms-emdash-skills-wordpress-plugin-to-emdash-skill-md&format=skill
下载 .skill 标准格式,含 system_prompt 与 model_config,导入任意 Agent 框架即可使用
.skill 文件中 system_prompt 字段的实际内容。
name wordpress-plugin-to-emdash description Port a WordPress plugin to EmDash CMS. Use this skill when asked to migrate, convert, or port a WordPress plugin, theme functionality, or custom post type to EmDash. Provides concept mapping and implementation patterns. Porting WordPress Plugins to EmDash This skill maps WordPress concepts to their EmDash equivalents for plugin porting. For general plugin authoring details (plugin structure, definePlugin() , hooks, storage, admin UI, etc.), use the creating-plugins skill. Migration Approach Understand the plugin — What does it do, not how Identify concepts — Content types, admin pages, hooks, shortcodes Map to EmDash — Use the tables below Implement in TypeScript — Clean room, not line-by-line port. Use the creating-plugins skill for implementation details. Test behaviour — Same result, different implementation Concept Mapping Content & Data WordPress EmDash Notes register_post_type() SchemaRegistry.createCollection() Via Admin API or seed file register_taxonomy() _emdash_taxonomy_defs table Hierarchical or flat, attached to collections register_meta() / ACF Collection fields via SchemaRegistry All become typed schema fields get_post_meta() entry.data.fieldName Direct typed access get_option() getSiteSetting() / ctx.kv Site settings or plugin-namespaced KV WP_Query getEmDashCollection() Runtime queries with filters get_post($id) getEmDashEntry(collection, slug) Returns entry or null wp_insert_post() POST /_emdash/api/content/{type} REST API wp_update_post() PUT /_emdash/api/content/{type}/{id} REST API wp_delete_post() DELETE /_emdash/api/content/{type}/{id} Soft delete Custom tables Plugin storage collections ctx.storage.collectionName.put/get/query Site Configuration WordPress EmDash Notes get_bloginfo('name') getSiteSetting('title') From options table with site: prefix get_option('blogdesc') getSiteSetting('tagline') Site settings API Theme Customizer Site Settings admin page /_emdash/admin/settings site_icon getSiteSetting('favicon') Media reference custom_logo getSiteSetting('logo') Media reference Navigation Menus WordPress EmDash Notes register_nav_menu() Create menu via admin or seed _emdash_menus table wp_nav_menu() getMenu(name) Returns { items: MenuItem[] } wp_nav_menu_item _emdash_menu_items table Type: custom, page, post, taxonomy _menu_item_object_id reference_id + reference_collection Links to content entries Menu locations Query by name in templates No locations concept — direct query Taxonomies WordPress EmDash Notes register_taxonomy() _emdash_taxonomy_defs table Define via admin, seed, or API get_terms() getTaxonomyTerms(name) Returns tree for hierarchical get_the_terms() getEntryTerms(collection, id, name) Terms for specific entry wp_set_post_terms() TaxonomyRepository.setTermsForEntry() Replace terms for entry Hierarchical taxonomy hierarchical: true in definition Categories-style Flat taxonomy hierarchical: false Tags-style Widgets & Sidebars WordPress EmDash Notes register_sidebar() _emdash_widget_areas table Create via admin or seed dynamic_sidebar() getWidgetArea(name) Returns { widgets: Widget[] } WP_Widget class Widget types: content, menu, component Simplified — 3 types only Text widget type: 'content' + Portable Text Rich text widget Nav Menu widget type: 'menu' + menuName References a menu Custom widgets type: 'component' + componentId Plugin-registered components Admin UI WordPress EmDash Notes add_menu_page() admin.pages in definePlugin() Plugin config add_submenu_page() Nested admin pages Parent determines hierarchy add_settings_section() admin.settingsSchema Auto-generated settings page add_meta_box() Field groups in collection schema UI config in schema wp_enqueue_script() ESM imports in admin components React (trusted) or Block Kit (sandboxed) Admin notices Toast notifications Via admin UI framework Hooks WordPress EmDash Notes add_action('init') plugin:install hook Runs once on first install add_action('save_post') content:afterSave hook Filter by event.collection add_action('before_delete_post') content:beforeDelete hook Return false to prevent add_action('wp_head') page:metadata / page:fragments hook Metadata is sandbox-safe; scripts need trusted plugin add_action('rest_api_init') definePlugin({ routes }) Trusted only add_filter('the_content') Portable Text components Custom block renderers add_filter('the_title') Template logic Handle in Astro component Frontend Output WordPress EmDash Notes add_shortcode() Portable Text custom block Content → block. Template → component. Trusted only. register_block_type() PT block + componentsEntry Block data → Astro component props. Trusted only. Template tags Astro expressions get_the_title() → {post.data.title} Widgets Widget area + components Query with getWidgetArea() Plugin Storage WordPress EmDash Notes get_option('plugin_*') ctx.kv.get(key) Namespaced to plugin automatically update_option() ctx.kv.set(key, value) Scoped KV storage delete_option() ctx.kv.delete(key) Delete single key Custom tables ctx.storage.collection Document collections with indexes Transients Plugin KV No TTL yet Porting-Specific Patterns These patterns cover WordPress-specific concepts that don't have a direct 1:1 mapping. For general plugin patterns (defining hooks, storage, routes, admin UI), see the creating-plugins skill. Shortcodes → Portable Text Blocks WordPress shortcodes ( [youtube id="xxx"] ) become Portable Text custom block types. The block data replaces shortcode attributes, and an Astro component replaces the shortcode render function. This is a trusted-only feature. // WordPress add_shortcode ( 'youtube' , function ( $atts ) {
Agent 识别该技能的关键词,点击任意一个即可复制。

该技能未提供触发词。

下载的 .skill 包内含以下字段。
字段 说明
format格式标识(skill/v1)
skill_id技能唯一 ID
name技能名称
version版本号
description技能描述
category所属分类(数组)
trigger_words触发词列表
tags标签列表
source来源标识
source_url来源链接(本页地址)
exported_at导出时间(每次下载生成)
system_prompt系统提示词正文
model_config模型参数:provider / model / temperature / max_tokens / top_p
examples示例
install_guide各平台导入说明(Coze / Dify / Claude / 自定义框架)
同一份技能可按不同平台格式导出。
.skill 标准格式,含 system_prompt 与 model_config,导入任意 Agent 框架即可使用 下载
.skillpro 增强格式,额外含脚本 / 工具 / 依赖 / 钩子占位 下载
.json 纯 JSON 导出,只含 system_prompt 与模型参数 下载
Coze 带 frontmatter 的 Markdown,Coze 平台导入用 下载
Dify Dify DSL,创建应用后直接导入 下载

每日精选 Skill 推荐,免费送到你邮箱

输入邮箱,每天接收一个精选 AI Agent 技能推荐。完全免费,持续更新。

提交后我们会发送一封确认邮件,点击邮件里的链接才会开始收信。

完全免费,取消任意时间。我们不会发送垃圾邮件。