prefix . 'aisiteark_' . $aisiteark_table; // phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared, WordPress.DB.DirectDatabaseQuery, PluginCheck.Security.DirectDB.UnescapedDBParameter -- table name built from $wpdb->prefix + a fixed constant. $wpdb->query( "DROP TABLE IF EXISTS {$aisiteark_name}" ); } delete_option( 'aisiteark_settings' ); delete_option( 'aisiteark_db_version' ); delete_option( 'aisiteark_version' ); delete_option( 'aisiteark_backup_tokens' ); delete_option( 'aisiteark_backup_secret' ); $roles = wp_roles(); if ( $roles ) { foreach ( array_keys( $roles->roles ) as $role_name ) { $role = get_role( $role_name ); if ( ! $role ) { continue; } foreach ( array( 'aisiteark_manage', 'aisiteark_admin' ) as $cap ) { $role->remove_cap( $cap ); } } } wp_clear_scheduled_hook( 'aisiteark_backup_cron' ); wp_clear_scheduled_hook( 'aisiteark_job_continue' ); } if ( is_multisite() ) { $aisiteark_site_ids = get_sites( array( 'fields' => 'ids' ) ); foreach ( $aisiteark_site_ids as $aisiteark_site_id ) { switch_to_blog( (int) $aisiteark_site_id ); aisiteark_uninstall_site(); restore_current_blog(); } } else { aisiteark_uninstall_site(); }