WP Manifestindependent plugin directory
manifest / content / wem-content-model

WEM Content Model releases

基于 WordPress 原生 API 的轻量内容模型插件,提供 Product、Download、FAQ 与可选 Solution 模块,适用于企业官网与 B2B 外贸网站的新站开发。

by WEM Content Model Contributors · github.com/coowinit/wem-content-model

0stars
0forks

Install

No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:

wp plugin install https://github.com/coowinit/wem-content-model/archive/refs/heads/main.zip

WEM(Web Enterprise Management)Content Model 是一款面向新建外贸企业官网与 B2B 产品展示站的轻量级 WordPress 原生内容模型插件。

当前版本: v1.1.0
WordPress: 7.0+
PHP: 8.3+
许可证: MIT


项目定位

WEM Content Model 用于统一外贸企业站中长期重复出现的内容模型:Product、Download、FAQ,以及按需启用的 Solution

它只负责稳定的数据层,不承担页面设计、SEO、询盘、电商或大型字段管理功能。

WEM Content Model
→ CPT / Taxonomy / 少量结构化 Meta

Elementor
→ Product / Solution 的复杂营销正文

Theme
→ Archive / Single / 查询 / 响应式 / 前端展示

核心原则:

  • 数据结构稳定,页面表现自由
  • 优先使用 WordPress 原生能力
  • 只结构化真正需要程序调用的数据
  • 复杂图文内容交给 Elementor
  • 不为单个项目需求不断扩充 Core
  • 不重复开发 ACF、Meta Box、WooCommerce 已有能力

适用场景

适合:

  • 外贸企业官网
  • B2B 产品展示站
  • 建材、家居、五金、机械、工业品等企业产品站
  • 需要 Product + Download + FAQ 的企业站
  • 少量需要 Solution 内容体系的项目
  • 希望长期使用自有 CPT / Taxonomy / Meta,而不过度依赖通用字段插件的项目

不以这些场景为目标:

  • 完整 B2C 商城
  • 复杂库存、价格、Variation、订单系统
  • 通用 ACF / Meta Box 替代品
  • Headless CMS 平台
  • CRM / SMTP / 询盘管理系统
  • 大型内容关系引擎

模块总览

模块 默认状态 主要用途 Elementor
Product ON 产品、分类及核心产品数据
Download ON Catalog、Color Card、Technical Data、Guide 等资料
FAQ ON 标准一问一答内容
Solution OFF 产品组合、空间设计、装饰方案等内容

当前暂不包含 Case、Application、Team、Certificate、Video 等独立模块。

只有当某类需求在多个新站中反复出现,并且进入 WEM 能明显降低长期维护成本时,才考虑继续扩展。


安装与快速开始

将插件目录上传到:

/wp-content/plugins/wem-content-model/

然后在 WordPress 后台启用:

Plugins → Installed Plugins → WEM Content Model

默认会启用:

Products
Downloads
FAQs

插件激活时会注册相关 CPT / Taxonomy 并刷新 Rewrite Rules。

启用 Solution

模块配置文件:

config/modules.php

默认:

return array(
    'product'  => true,
    'download' => true,
    'faq'      => true,
    'solution' => false,
);

需要 Solution 时改为:

'solution' => true,

也可以通过 Filter 在项目代码中开启,而不修改插件源码:

add_filter( 'wem_enabled_modules', function ( array $modules ): array {
    $modules['solution'] = true;
    return $modules;
} );

修改模块状态后,建议进入:

Settings → Permalinks

重新保存一次固定链接。


Product

Product 是 WEM 的核心内容模型。

WordPress 原生数据

直接使用 WordPress 原生能力:

  • Title
  • Editor
  • Excerpt
  • Featured Image
  • Page Attributes / menu_order
  • Product Categories

复杂产品正文推荐使用 Elementor 编辑。

Product Categories

Taxonomy:

wem_product_category

采用层级结构,例如:

WPC Wall Panel
├── Fluted Wall Panel
├── Integrated Panels
├── Wood Veneer Sheet
└── Curved Wall Panels

不默认注册 Product Tags,也不提前增加 Material、Surface、Industry 等行业型 Taxonomy。

Product Information

后台名称 Meta Key 类型
Product Badge wem_product_badge text
Product Model wem_product_model text
Product Dimensions wem_product_dimensions text
Product Image 01~08 wem_product_image_01 ~ wem_product_image_08 media:image
3D / VR URL wem_product_vr_url text
3D / VR QR Code wem_product_vr_qr_code media:image
Product Video wem_product_video media:video
Related Download IDs wem_product_download_ids text
Product Custom HTML wem_product_custom_html html

字段设计原则

Material、Surface、Length、Weight、Power、Voltage 等参数高度依赖行业,不默认加入 Core。

判断规则:

需要筛选 / 排序 / 查询 / 多页面复用
→ 再考虑结构化

只是参数表 / 产品介绍 / 图文营销内容
→ Elementor 或 Product Custom HTML

这样可以避免插件随着项目增加逐渐变成难以维护的行业数据系统。

Product Helpers

wem_get_product_badge( $post_id );
wem_get_product_model( $post_id );
wem_get_product_dimensions( $post_id );
wem_get_product_image_id( $post_id, 1 );
wem_get_product_image_url( $post_id, 1, 'large' );
wem_get_product_vr_url( $post_id );
wem_get_product_vr_qr_code_id( $post_id );
wem_get_product_video_id( $post_id );
wem_get_product_download_ids( $post_id );
wem_get_product_custom_html( $post_id );

图片推荐通过 Attachment ID 输出:

$image_id = wem_get_product_image_id( get_the_ID(), 1 );

if ( $image_id ) {
    echo wp_get_attachment_image( $image_id, 'large' );
}

HTML 字段输出:

echo wp_kses_post(
    wem_get_product_custom_html( get_the_ID() )
);

Product 与 Elementor

推荐页面分层:

产品顶部固定信息
→ WEM + Theme

Overview 以下复杂正文
→ Elementor

适合由 Elementor 管理:

  • Overview
  • Description
  • Product Features
  • Color & Surface
  • Installation
  • Applications
  • Inspiration
  • Gallery / Video Layout
  • CTA

不要因为某项信息出现在页面上,就自动把它开发成新的 Meta Field。


Download

Download 用于独立管理可被多个页面复用的下载资料。

常见内容:

Catalog
Brochure
Color Card
Technical Data
Installation Guide
Certificate
Drawing
Other

WordPress 原生数据

  • Title
  • Editor
  • Featured Image(可选)
  • Page Attributes / menu_order
  • Download Categories

Editor 可以保存说明文字、Shortcode 或 Flipbook 内容。

Download Information

Download 只增加一个自定义字段:

后台名称 Meta Key 类型
Download File wem_download_file media:file

统一保存 WordPress Attachment ID,不保存完整媒体 URL。

Helpers:

wem_get_download_file_id( $post_id );
wem_get_download_file_url( $post_id );

文件名、MIME Type、扩展名、文件大小等信息应尽可能从 Attachment 自动读取,避免重复维护。

Download Categories

Download Category 推荐描述:

这个资源是什么。

例如:

Catalog
Brochure
Color Card
Technical Data
Installation Guide
Certificate
Drawing
Other

Product 与 Download 的具体关系通过 Related Download IDs 表达,而不是依靠 Download Category 表达。


FAQ

FAQ 不需要任何自定义 Meta,也不需要 Elementor。

Title
→ Question

Editor
→ Answer

FAQ Category
→ 分类

Page Attributes
→ 排序

Taxonomy:

wem_faq_category

FAQ Categories 采用层级结构,可按项目组织为:

General
Products
Installation
Maintenance
Shipping
Samples

前端 Accordion 完全由 Theme 负责。简单场景可以直接使用:

<details>
    <summary>Question</summary>
    <div>Answer</div>
</details>

因此同一组 FAQ 可以在 FAQ 页面、产品页、分类页或其他位置重复调用,而不会与具体前端样式绑定。


Solution(可选)

Solution 与 Product 的工作方式相似,但并不是所有外贸网站都需要,因此默认关闭。

适合:

  • Interior Decoration Solution
  • Product Combination Solution
  • Wall Decoration Solution
  • Space Design Solution
  • 其他多个产品组合形成的方案型内容

WordPress 原生数据

  • Title
  • Editor
  • Excerpt
  • Featured Image
  • Page Attributes / menu_order
  • Solution Categories

复杂空间设计、组合产品说明、热点图和营销图文继续使用 Elementor。

Solution Information

后台名称 Meta Key 类型
Solution Badge wem_solution_badge text
Featured Product Model wem_solution_product_model text
Featured Product Dimensions wem_solution_product_dimensions text
Related Product URL wem_solution_product_url text
Solution Image 01~05 wem_solution_image_01 ~ wem_solution_image_05 media:image
3D / VR URL wem_solution_vr_url text
3D / VR QR Code wem_solution_vr_qr_code media:image
Related Download IDs wem_solution_download_ids text

Helpers:

wem_get_solution_badge( $post_id );
wem_get_solution_product_model( $post_id );
wem_get_solution_product_dimensions( $post_id );
wem_get_solution_product_url( $post_id );
wem_get_solution_image_id( $post_id, 1 );
wem_get_solution_vr_url( $post_id );
wem_get_solution_vr_qr_code_id( $post_id );
wem_get_solution_download_ids( $post_id );

Field Core

WEM 不做通用字段生成器,只维护三种长期实际需要的字段类型:

text
media
html
类型 用途 存储方式 Sanitization
text 单行文本、URL、ID 列表等 string sanitize_text_field() 或字段指定回调
media 图片、视频、文件 Attachment ID absint() + 服务端附件验证
html 参数表、小型 HTML 片段 string wp_kses_post()

当前不提供:

Select
Checkbox
Radio
Repeater
Group
Color Picker
Date
Range
Relationship Builder

如果 WordPress Editor 或 Elementor 已经可以合理解决,就不在 WEM 中重复开发。

html 字段使用 wp_kses_post() 过滤,因此适合参数表和安全 HTML 片段,不适合保存 `

Releases

2 releases.

Tag
Published
v1.1.1 latest
Aug 26, 2026 15d ago
Aug 20, 2026 21d ago

These releases are tags only. The author does not attach a packaged zip, so there are no download counts to report.