16b905af8b
核心的 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 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TbG1keQQ7XBa7qMQY16KCY
34 lines
916 B
PHP
34 lines
916 B
PHP
<?php
|
|
/**
|
|
* Backward-compat class aliases for the spoke AddOn.
|
|
*
|
|
* Sister plugins and third-party code may still reference the WPDO_* class
|
|
* names from wp-data-optimizer. The core plugin aliases its own classes in
|
|
* class-tmdo-back-compat.php, but it runs before AddOns load (plugins_loaded:4
|
|
* vs :6), so each AddOn must alias its own classes here.
|
|
*
|
|
* @package TMDO
|
|
*/
|
|
|
|
if ( ! defined( 'ABSPATH' ) ) {
|
|
exit;
|
|
}
|
|
|
|
add_action(
|
|
'plugins_loaded',
|
|
static function () {
|
|
$aliases = array(
|
|
'TMDO_Spoke_Bootstrap' => 'WPDO_Spoke_Bootstrap',
|
|
'TMDO_Spoke_CLI' => 'WPDO_Spoke_CLI',
|
|
'TMDO_Spoke_Custom_Tables' => 'WPDO_Spoke_Custom_Tables',
|
|
'TMDO_Spoke_SSO_Group' => 'WPDO_Spoke_SSO_Group',
|
|
);
|
|
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
|
|
);
|