From 955689ddd221669177c873543843a1fd8c2639f5 Mon Sep 17 00:00:00 2001 From: wpdev Date: Fri, 31 Jul 2026 06:03:47 +0800 Subject: [PATCH] =?UTF-8?q?feat(back-compat):=20=E5=8A=A0=E5=85=A5=20WPDO?= =?UTF-8?q?=5F*=20class=20alias=EF=BC=88E3=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 核心的 class-tmdo-back-compat.php 在 plugins_loaded:4 執行,AddOn 於 :6 才載入,所以核心的 alias 表涵蓋不到 AddOn 類別 —— 姊妹外掛或第三方若 以 WPDO_* 名稱引用本 AddOn 的類別會直接 fatal。 新增 includes/back-compat-aliases.php,於 plugins_loaded:7 為本 AddOn 自有類別建立 WPDO_ alias;主檔加入 require。 Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01TbG1keQQ7XBa7qMQY16KCY --- 2meet-data-optimizer-woocommerce-addon.php | 1 + includes/back-compat-aliases.php | 34 ++++++++++++++++++++++ 2 files changed, 35 insertions(+) create mode 100644 includes/back-compat-aliases.php diff --git a/2meet-data-optimizer-woocommerce-addon.php b/2meet-data-optimizer-woocommerce-addon.php index 3daa3de..8621feb 100644 --- a/2meet-data-optimizer-woocommerce-addon.php +++ b/2meet-data-optimizer-woocommerce-addon.php @@ -29,6 +29,7 @@ define( 'TMDO_WOOCOMMERCE_FILE', __FILE__ ); require_once TMDO_WOOCOMMERCE_PATH . 'includes/class-tmdo-woocommerce-bootstrap.php'; +require_once TMDO_WOOCOMMERCE_PATH . 'includes/back-compat-aliases.php'; /** * Phase 3 任務:完成本 AddOn 的 includes/ 實作。 * diff --git a/includes/back-compat-aliases.php b/includes/back-compat-aliases.php new file mode 100644 index 0000000..5123cc5 --- /dev/null +++ b/includes/back-compat-aliases.php @@ -0,0 +1,34 @@ + 'WPDO_Admin_WC', + 'TMDO_WC_Orders_Interceptor' => 'WPDO_WC_Orders_Interceptor', + 'TMDO_WC_Term_Count_Filter' => 'WPDO_WC_Term_Count_Filter', + 'TMDO_WooCommerce' => 'WPDO_WooCommerce', + 'TMDO_Woocommerce_Bootstrap' => 'WPDO_Woocommerce_Bootstrap', + ); + foreach ( $aliases as $tmdo_class => $wpdo_alias ) { + if ( class_exists( $tmdo_class, false ) && ! class_exists( $wpdo_alias, false ) ) { + class_alias( $tmdo_class, $wpdo_alias ); + } + } + }, + 7 +);