From fa356a63b1af3aab723ca0232a54f2f3a124e2fc Mon Sep 17 00:00:00 2001 From: wpdev Date: Fri, 31 Jul 2026 09:50:23 +0800 Subject: [PATCH] =?UTF-8?q?fix(bootstrap):=20=E8=88=8A=E5=A4=96=E6=8E=9B?= =?UTF-8?q?=E4=BA=92=E6=96=A5=E5=81=B5=E6=B8=AC=E6=94=B9=E6=9F=A5=20active?= =?UTF-8?q?=5Fplugins?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit WPDO_VERSION 由 class-tmdo-back-compat.php 自行 define 為 TMDO_VERSION, 兩者永遠相等,admin notice 從未觸發;PHPStan L6 認出 notIdentical.alwaysFalse 並卡掉 main run #8 與 v1.0.0 tag 的 Test Gate。改查 active_plugins basename, 與 HP AddOn detector 的偵測方式一致。 --- 2meet-data-optimizer.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/2meet-data-optimizer.php b/2meet-data-optimizer.php index 3320d51..5fa0c00 100644 --- a/2meet-data-optimizer.php +++ b/2meet-data-optimizer.php @@ -88,7 +88,11 @@ if ( version_compare( PHP_VERSION, TMDO_MIN_PHP, '<' ) ) { add_action( 'admin_notices', static function () { - if ( defined( 'WPDO_VERSION' ) && WPDO_VERSION !== TMDO_VERSION ) { + // Deliberately not a WPDO_VERSION comparison: this plugin defines that + // constant itself (includes/class-tmdo-back-compat.php), so the two + // would always match and the notice could never fire. + $tmdo_legacy = 'wp-data-optimizer/wp-data-optimizer.php'; + if ( in_array( $tmdo_legacy, (array) get_option( 'active_plugins', array() ), true ) ) { echo '

'; esc_html_e( '⚠ 偵測到舊版 wp-data-optimizer 已啟用。請停用舊外掛以避免 hook 雙觸發。', '2meet-data-optimizer' ); echo '

';