Files
2meet-data-optimizer-bookin…/2meet-data-optimizer-bookings-addon.php
T
wpdev bb71e38408
Tests / PHP Lint (pull_request) Successful in 6s
fix: partner 偵測符號對齊實際存在的常數 + schema 期望值補齊
TMDO_Bookings::register() 舊版偵測 TMEETIC_Booking_Plugin 類別與 TMEETIC_BOOKING_VERSION 常數(TMEETIC_Booking 則要到 :26 才載入),
在 partner 外掛中並不存在(或載入太晚),偵測實際完全靠 file_exists() 後備
撐著——程式碼讀起來像在驗證「partner 已載入」,實際只驗證了「目錄存在」。

改用 TMB_VERSION / TMB_PLUGIN_DIR,兩者在 partner 主檔的檔案解析當下即
define,早於 plugins_loaded,故本 AddOn bootstrap 的 :6 時點確實可用。
file_exists() 後備保留不動,行為不變;但偵測不再是死碼,即使將來移除後備也
不會重演 infocards-addon 那種「整個 AddOn 靜默失效」的事故。

同一版本另含先前未提交的 schema 工作:補齊 expected_columns / indexes,
並將 registry 索引 config key 由 expected_indexes 更正為 indexes
(wp_parse_args() 會靜默丟棄未知 key,索引期望值先前等同從未送達)。

實測驗證(mu-plugin 於 plugins_loaded:6 量測真實請求):
新常數 AVAILABLE;wp wpdo doctor 89 OK / 0 FAIL;表註冊欄位與索引 100% 完整。
2026-08-09 00:47:26 +08:00

41 lines
1.4 KiB
PHP

<?php
/**
* Plugin Name: 2meet Data Optimizer — Bookings AddOn
* Plugin URI: https://2meet.io/2meet-data-optimizer/bookings
* Description: 2meet-bookings 8 張自訂表 (2mb_bookings/services/availability/date_overrides/vendor_settings/service_reviews/waitlist_submissions/audit_log) 註冊
* Version: 0.1.1
* Requires at least: 6.0
* Tested up to: 6.9.4
* Requires PHP: 8.1
* Requires Plugins: 2meet-data-optimizer, 2meet-bookings
* Author: 2meet
* Author URI: https://2meet.io
* License: GPL-2.0-or-later
* License URI: https://www.gnu.org/licenses/gpl-2.0.html
* Text Domain: tmdo-bookings
*
* TablePrefix: ^2mb_[a-z_0-9]+$
* Domain Path: /languages
*
* @package TMDO_BOOKINGS
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
define( 'TMDO_BOOKINGS_VERSION', '0.1.1' );
define( 'TMDO_BOOKINGS_PATH', plugin_dir_path( __FILE__ ) );
define( 'TMDO_BOOKINGS_URL', plugin_dir_url( __FILE__ ) );
define( 'TMDO_BOOKINGS_FILE', __FILE__ );
require_once TMDO_BOOKINGS_PATH . 'includes/class-tmdo-bookings-bootstrap.php';
require_once TMDO_BOOKINGS_PATH . 'includes/back-compat-aliases.php';
/**
* Phase 4 任務:完成本 AddOn 的 includes/ 實作。
*
* @see ~/.claude/plans/wp-data-optimizer-2meet-data-optimizer-zesty-liskov.md
*/
add_action( 'plugins_loaded', array( 'TMDO_Bookings_Bootstrap', 'init' ), 6 );