Skip to content

Releases: coowinit/wem-content-fields

wem-content-fields v1.0.0 — 首个稳定版本

Choose a tag to compare

@coowinit coowinit released this 16 Sep 04:00

wem-content-fields v1.0.0

wem-content-fields 是一款轻量、独立的 WordPress 结构化字段管理插件。

它用于定义:

某个 Post Type 有哪些结构化字段。

插件专注于 Field Groups、Post Meta 与 WordPress 原生 API,不以替代 ACF / Meta Box 等大型字段框架为目标。

核心功能

  • Field Groups 字段组管理
  • 支持 WordPress Posts / Pages
  • 支持公开 Custom Post Types
  • 字段定义存储于 wp_options
  • 字段值存储于 WordPress postmeta
  • 使用 register_post_meta()
  • WordPress 后台 Meta Box
  • REST API 支持
  • JSON Import / Export
  • 跨网站迁移字段结构

支持的字段类型

  • 单行文本
  • 多行文本
  • 微型富文本
  • 图片
  • PDF 文件
  • 下拉框
  • 多选框

数据设计

字段定义与字段值完全分离:

  • Field Definitions → wp_options
  • Field Values → wp_postmeta

Meta Key 使用:

_wem_cf_{field_key}

例如:

product_number

对应:

_wem_cf_product_number

图片与文件

图片字段保存 WordPress Attachment ID。

PDF 文件字段同样保存 Attachment ID,并限制为 PDF 文件。

不保存附件 URL,从而保持与 WordPress Media Library 的原生关系。

REST API

字段通过 register_post_meta() 注册。

启用 REST 的字段可直接通过 WordPress 原生 REST API 访问,无需额外自定义 Endpoint。

JSON 导入 / 导出

支持导出字段组 Schema 并迁移到其他安装了 wem-content-fields 的 WordPress 网站。

导入前提供验证与冲突检查。

导入导出只处理字段结构,不迁移:

  • Posts
  • Post Meta Values
  • 图片文件
  • PDF 文件
  • Attachment ID

安全策略

  • 管理功能仅限管理员
  • Nonce 验证
  • Capability 验证
  • Autosave / Revision 检查
  • Field 白名单
  • Field Type 独立 Sanitize
  • Select / Checkbox Value 白名单
  • Image Attachment 校验
  • PDF MIME 校验

数据安全原则

删除字段或字段组:

不会自动删除文章中已经保存的 Post Meta。

插件停用、删除或重新安装,也不会主动清理现有字段配置和文章字段值。

这使字段配置可以调整,而业务数据能够长期保留。

测试主题

仓库包含:

tests/manual/wem-test-theme/

用于手工验证:

  • Text
  • Textarea
  • Editor
  • Image
  • PDF
  • Select
  • Checkbox

的实际前台输出。

测试主题仅用于开发和验证,不建议用于生产环境。

Schema

Field Definition Schema:

v1

Version

v1.0.0