get_col( // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery,WordPress.DB.DirectDatabaseQuery.NoCaching $wpdb->prepare( "SELECT option_name FROM {$wpdb->options} WHERE option_name LIKE %s", $wpdb->esc_like( $agentmark_prefix ) . '%' ) ); if ( ! empty( $agentmark_transients ) ) { foreach ( $agentmark_transients as $agentmark_option_name ) { $agentmark_transient_name = str_replace( '_transient_', '', $agentmark_option_name ); delete_transient( $agentmark_transient_name ); } } // If multisite, delete from all sites if ( is_multisite() ) { $agentmark_sites = get_sites( [ 'fields' => 'ids' ] ); foreach ( $agentmark_sites as $blog_id ) { switch_to_blog( $blog_id ); delete_option( 'agentmark_settings' ); delete_option( 'agentmark_access_logs' ); // Delete site-specific transients $agentmark_site_prefix = '_transient_agentmark_'; $agentmark_site_transients = $wpdb->get_col( // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery,WordPress.DB.DirectDatabaseQuery.NoCaching $wpdb->prepare( "SELECT option_name FROM {$wpdb->options} WHERE option_name LIKE %s", $wpdb->esc_like( $agentmark_site_prefix ) . '%' ) ); if ( ! empty( $agentmark_site_transients ) ) { foreach ( $agentmark_site_transients as $agentmark_option_name ) { $agentmark_transient_name = str_replace( '_transient_', '', $agentmark_option_name ); delete_transient( $agentmark_transient_name ); } } restore_current_blog(); } }