in_array( "2meet-data-optimizer-{$slug}-addon/2meet-data-optimizer-{$slug}-addon.php", $active, true ) ) ); } /** * Print the notice for administrators when any deprecated AddOn is active. * * @return void */ public static function render(): void { if ( ! current_user_can( 'manage_options' ) ) { return; } $active = self::active(); if ( empty( $active ) ) { return; } $names = implode( ', ', array_map( static fn( string $slug ): string => "2meet-data-optimizer-{$slug}-addon", $active ) ); printf( '

%s %s

%s

', esc_html__( '2meet Data Optimizer:', '2meet-data-optimizer' ), esc_html( sprintf( /* translators: %s: comma-separated AddOn plugin slugs */ __( '以下 AddOn 已淘汰:%s。對應的 2meet 外掛改為自行向核心註冊資料表與欄位,AddOn 之後會移除。', '2meet-data-optimizer' ), $names ) ), esc_html__( '改寫方式見 2meet-data-optimizer 外掛內的 docs/PARTNER-REGISTRATION.md;partner 外掛完成自行註冊後即可停用對應 AddOn。', '2meet-data-optimizer' ) ); if ( array_intersect( $active, array( 'hub', 'spoke', 'sso' ) ) ) { printf( '

%s

', esc_html__( 'Hub / Spoke / SSO AddOn 不需替代:2meet-hub-core 與 2meet-spoke-sso 會自行註冊資料表,SSO 值存回 usermeta 即可。停用前先執行 wp tmdo bridge-restore-native user --group=sso --retire。', '2meet-data-optimizer' ) ); } } }