d36bb954d1
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
3.3 KiB
3.3 KiB
CLAUDE.md — 2meet Data Optimizer (核心)
父環境:
/var/www/Studio/wp-local-dev/CLAUDE.md與/var/www/Studio/wp-local-dev30/CLAUDE.md全域:~/.claude/CLAUDE.md(含 Karpathy Guidelines)
Reset recovery
- 讀本檔(CLAUDE.md)取得 plugin 上下文
- 讀 PLAN.md 看當前 phase 進度
- 接續 PLAN.md 的下一個未完成步驟
Plugin 概述
2meet-data-optimizer 是純通用 WordPress 反 EAV 引擎,從 wp-data-optimizer v2.16.0 提煉。
- 不依存 HivePress / WooCommerce / LatePoint / 2meet-*
- 4 entity 通用(post/user/term/comment)
- 整合層全部交給 11 個獨立 AddOn
完整拆分計畫見 ~/.claude/plans/wp-data-optimizer-2meet-data-optimizer-zesty-liskov.md。
開發紀律
命名前綴
- 類別:
TMDO_* - 函式:
tmdo_* - 常數:
TMDO_VERSION/TMDO_PATH/TMDO_URL/TMDO_FILE - Hook:
tmdo_*(同時 dual-firewpdo_*過渡) - Text-domain:
2meet-data-optimizer
對外相容
- 主要 API 公開:
TMDO_API、TMDO_Schema_Registry、TMDO_Entity_Registry、TMDO_Custom_Table_Registry、TMDO_Feature_Flags、TMDO_DB、TMDO_Crypto、TMDO_Logger - 必加
class_alias( 'TMDO_*', 'WPDO_*' )對應全部上述 8 個類別 - 必 dual-fire
tmdo_*與wpdo_*共 9 個 hook(見 plan § 11.2)
反 EAV 紅線(CI gate 守門)
- ❌
SELECT FROM wp_postmeta / wp_usermeta / wp_termmeta / wp_commentmeta(除一次性 migration / cron) - ❌ 硬編碼表名
wp_postmeta/wp_options,必走TMDO_DB::table() - ❌ 主動
add_action('updated_postmeta', ...)(與 Hook Bus 衝突) - ❌ 單外掛
autoload=yes的wp_options> 30 條 - ❌ 直接
unserialize(),必走TMDO_Safe_Unserialize::run()
安全
- 所有 SQL 走
$wpdb->prepare() - 動態 IN 子句用
array_fill('%d')動態佔位符 - DROP TABLE 前白名單 + prefix 雙重驗證
manage_optionscapability check + nonce- 輸出
esc_html()/esc_attr()/esc_url()
Crypto
TMDO_Crypto:AES-256-GCM AEAD(enc:v2:格式),向後相容讀取enc:v1:(CBC)- 加密 wp_options 內 webhook 密鑰
任務管理
- 開始任務前更新
PLAN.md - 每完成一步驟,標記 ✅
- 重要決策 / 踩坑記錄在 PLAN.md「Lessons learned」
常用指令
# Lint
find . -name "*.php" | grep -v vendor | grep -v tests | xargs php -l
# Unit tests
./vendor/bin/phpunit --configuration phpunit.xml
# Integration tests(需本機 MariaDB)
./vendor/bin/phpunit --configuration phpunit-integration.xml
# WP-CLI
wp --path=/var/www/Studio/wp-local-dev30 tmdo status
wp --path=/var/www/Studio/wp-local-dev30 tmdo doctor
wp --path=/var/www/Studio/wp-local-dev30 tmdo benchmark hot_post --samples=200
# 打包(必經 10 終檢)
/var/www/Studio/wp-local-dev/scripts/package-plugin.sh 2meet-data-optimizer
邊界
- ✅ 本外掛觸碰:4-entity 反 EAV 引擎、zone 表、migration、wizard、admin、CLI、REST、snapshot、diagnostic、notifications
- ❌ 本外掛不觸碰:HP / WC / LP / 2meet-* 邏輯(全部交給 AddOn)
- ❌ 本外掛不註冊:HP listing 欄位、WC product 欄位、SSO sso group、infocards postmeta(全部交給 AddOn)
Phase 進度
Phase 0 ✅ 骨架建立 (2026-05-15)
Phase 1 ⬜ Core v0.1.0 (W1-W2)
詳見 PLAN.md。