bdca748c22
Baseline before backporting wp-data-optimizer v3.0.1-v3.4.6. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TbG1keQQ7XBa7qMQY16KCY
1.2 KiB
1.2 KiB
DESIGN — 2meet Data Optimizer Latepoint AddOn
父外掛架構決策見
../2meet-data-optimizer/DESIGN.md
角色定位
本 AddOn 是 2meet-data-optimizer 的整合層,負責將 latepoint 的 EAV 模式(postmeta / 自訂表)橋接到核心反 EAV 引擎。
- 不修改
latepoint本身 - 不繞過
2meet-data-optimizer核心 - 只透過公開合約(
TMDO_API、tmdo_register_*hook)參與
啟動順序
plugins_loaded:4 2meet-data-optimizer (core) 啟動
plugins_loaded:5-6 本 AddOn bootstrap → 註冊 hook callback
plugins_loaded:6+ latepoint 本體啟動
init:0 核心 fire tmdo_register_* → 本 AddOn 的 callback 執行
詳見 plan 文件第 3 章「載入順序」。
為什麼是獨立 AddOn 而非塞進核心
- 核心
2meet-data-optimizer對外承諾「零依存任何業務外掛」 - 整合層發版節奏應跟隨
latepoint而非核心 - 站台不用
latepoint時不需被迫載入這段程式碼
邊界檢查清單
- 不直接
SELECT FROM wp_*meta - 不繞過 Hook Bus
- 所有 SQL 走
$wpdb->prepare() - DB 表名走
TMDO_DB::table() - 對外只 expose
TMDO_Latepoint_*命名空間