fix/partner-detection-timing
Tests / PHP Lint (pull_request) Successful in 12s
TMDO_Infocards::register() 舊版在 bootstrap 當下以 class_exists('TMEETIC_*')
偵測 partner,失敗即 early return。但本 AddOn bootstrap 掛在 plugins_loaded:6,
而 2meet-infocards 要到 :20(tmeetic_run)才 require 自身類別——在 :6 當下
TMEETIC_* 一律不存在,偵測必定失敗,兩個註冊 hook 從未被掛上,整個 AddOn
等同未啟用。
三處修法:
1. 偵測從 bootstrap 移進 hook callback 內執行,hook 一律先掛上
2. 偵測改以 TMEETIC_VERSION / TMEETIC_PLUGIN_DIR 常數優先(檔案解析當下即
define,早於 plugins_loaded),class_exists() 退為後備
3. bootstrap priority 6 → 3;wpdo_register_custom_tables callback prio 設 5,
讓本 AddOn 較豐富的定義勝過主外掛無 expected_columns 的版本
同時修正 IG token 兩個欄位的 meta_key 錯配(tmeetic_ig_access_token_enc /
tmeetic_ig_token_expiry),以及 registry 索引 config key expected_indexes →
indexes。
實測驗證:
- wpdo_register_fields 掛載 prio 10、wpdo_register_custom_tables prio 5
- 2meet_vendor_profiles 由本 AddOn 註冊(16 欄位 / 1 索引 / doctor_callback)
- 缺 expected_columns 由 26/29 降為 0/46
- wp wpdo doctor 60 OK / 0 FAIL;anti-EAV lint 通過;站台 200/200
2meet Data Optimizer — Infocards AddOn
為 2meet-infocards(vendor profile / brand cards)提供 hp_vendor 反 EAV 加速。
What it does
| 項目 | 內容 |
|---|---|
| Hot zone (3 欄位) | tmeetic_profile_primary / tmeetic_profile_accent / tmeetic_profile_font(vendor 主題色 + 字型,列表頁高頻讀) |
| Cold zone (6 欄位) | tmeetic_profile_hero_image + 5 個 tmeetic_ig_*(Instagram 整合:access_token / user_id / username / cached_media / cached_at) |
| Custom tables | 3 張 vendor 資料表(2meet_vendor_profiles / 2meet_cards / 2meet_theme_styles)→ TMDO Custom Table Registry |
| Cache groups | wpdo_cold_hp_vendor (HOUR_IN_SECONDS) |
| Doctor check | vendor_profiles 表結構驗證 |
Requirements
- WordPress ≥ 6.0
- PHP ≥ 8.1
- 2meet-data-optimizer ≥ 0.1.0
- 2meet-infocards(或相容外掛如 2meet-brandcards)
本 AddOn 僅做 schema 註冊,2meet-infocards 自身不需感知 AddOn 存在;若 hp_vendor 沒有 tmeetic_* meta,AddOn 不會做任何動作。
Installation
wp plugin install /path/to/2meet-data-optimizer-infocards-addon-v0.1.0.zip --activate
# 驗證
wp tmdo custom-tables --provider=infocards-addon
wp tmdo doctor --table=2meet_vendor_profiles
wp tmdo benchmark tmeetic_profile_primary --post-type=hp_vendor --samples=100
與 hp_vendor 的關係
infocards 系統把 vendor profile 客製欄位(顏色、字型、Instagram 整合)存在 wp_postmeta 上,hp_vendor 列表頁需 N+1 次 query 拉所有 vendor 的色票。
本 AddOn 把高頻讀的 3 個 theme 欄位推到 Hot zone,列表頁查詢從 N+3 次 reduce 為 1 次 LEFT JOIN。
Phase
Phase 4 — 與其他 5 個 2meet 家族 AddOn 同期 ship。
License
GPL-2.0-or-later
Description
Languages
PHP
100%