true ) ); } private static function pro_is_active( bool $network_wide ): bool { if ( self::basename_is_active_on_current_site( self::PRO_BASENAME ) || self::basename_is_network_active( self::PRO_BASENAME ) ) { return true; } if ( ! $network_wide || ! is_multisite() || ! function_exists( 'get_sites' ) ) { return false; } $site_ids = get_sites( array( 'fields' => 'ids', 'number' => 0, ) ); foreach ( $site_ids as $site_id ) { switch_to_blog( (int) $site_id ); $active = self::basename_is_active_on_current_site( self::PRO_BASENAME ); restore_current_blog(); if ( $active ) { return true; } } return false; } private static function basename_is_active_on_current_site( string $basename ): bool { $active_plugins = get_option( 'active_plugins', array() ); return is_array( $active_plugins ) && in_array( $basename, $active_plugins, true ); } private static function basename_is_network_active( string $basename ): bool { if ( ! is_multisite() ) { return false; } $network_plugins = get_site_option( 'active_sitewide_plugins', array() ); return is_array( $network_plugins ) && array_key_exists( $basename, $network_plugins ); } }