Files
2meet-data-optimizer/CLAUDE.md
T
wpdev d36bb954d1 chore: initial snapshot of 2meet-data-optimizer v0.1.0
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
2026-07-31 05:06:36 +08:00

3.3 KiB
Raw Blame History

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

  1. 讀本檔(CLAUDE.md)取得 plugin 上下文
  2. PLAN.md 看當前 phase 進度
  3. 接續 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
  • Hooktmdo_*(同時 dual-fire wpdo_* 過渡)
  • Text-domain2meet-data-optimizer

對外相容

  • 主要 API 公開:TMDO_APITMDO_Schema_RegistryTMDO_Entity_RegistryTMDO_Custom_Table_RegistryTMDO_Feature_FlagsTMDO_DBTMDO_CryptoTMDO_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=yeswp_options > 30 條
  • 直接 unserialize(),必走 TMDO_Safe_Unserialize::run()

安全

  • 所有 SQL 走 $wpdb->prepare()
  • 動態 IN 子句用 array_fill('%d') 動態佔位符
  • DROP TABLE 前白名單 + prefix 雙重驗證
  • manage_options capability check + nonce
  • 輸出 esc_html() / esc_attr() / esc_url()

Crypto

  • TMDO_CryptoAES-256-GCM AEADenc: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