query( "DROP TABLE IF EXISTS {$wpdb->prefix}mux_assets" ); $wpdb->query( "DROP TABLE IF EXISTS {$wpdb->prefix}mux_caption_queue" ); // phpcs:enable // 2. Delete options. delete_option( 'muxvideo_options' ); delete_site_option( 'muxvideo_options' ); // 3. Delete uploaded caption files via WP_Filesystem. $upload_dir = wp_upload_dir(); $captions_dir = trailingslashit( $upload_dir['basedir'] ) . 'muxvideo_captions/'; if ( is_dir( $captions_dir ) ) { if ( ! function_exists( 'WP_Filesystem' ) ) { require_once ABSPATH . 'wp-admin/includes/file.php'; } WP_Filesystem(); global $wp_filesystem; if ( $wp_filesystem instanceof WP_Filesystem_Base ) { $wp_filesystem->delete( $captions_dir, true ); } } // 4. Delete transients. delete_transient( 'muxvideo_playback_restrictions' ); // phpcs:disable WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching -- uninstall routine: sweep stragglers. $wpdb->query( $wpdb->prepare( "DELETE FROM {$wpdb->options} WHERE option_name LIKE %s", '_transient_muxvideo_%' ) ); $wpdb->query( $wpdb->prepare( "DELETE FROM {$wpdb->options} WHERE option_name LIKE %s", '_transient_timeout_muxvideo_%' ) ); // phpcs:enable