get_col( // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching -- uninstall, transient names are not known in advance. $wpdb->prepare( "SELECT option_name FROM {$wpdb->options} WHERE option_name LIKE %s OR option_name LIKE %s", $wpdb->esc_like( '_transient_ahcl_' ) . '%', $wpdb->esc_like( '_transient_timeout_ahcl_' ) . '%' ) ); foreach ( (array) $names as $name ) { if ( 0 === strpos( $name, '_transient_timeout_' ) ) { continue; } delete_transient( substr( $name, strlen( '_transient_' ) ) ); } } if ( is_multisite() ) { foreach ( get_sites( array( 'number' => 0 ) ) as $ahcl_site ) { switch_to_blog( (int) $ahcl_site->blog_id ); ahcl_uninstall_site(); restore_current_blog(); } } else { ahcl_uninstall_site(); }