'runline_bar', 'post_status' => 'any', 'posts_per_page' => -1, 'fields' => 'ids', ) ); foreach ( $runline_ids as $runline_id ) { wp_delete_post( $runline_id, true ); } delete_option( 'runline_options' ); delete_option( 'runline_db_version' ); delete_option( 'runline_installed' ); delete_option( 'runline_signup_error' ); delete_metadata( 'user', 0, 'runline_welcome_done', '', true ); delete_metadata( 'user', 0, 'runline_review_later', '', true ); delete_metadata( 'user', 0, 'runline_review_done', '', true ); delete_metadata( 'user', 0, 'runline_hint_dayslot', '', true ); // Google fonts saved on the site. $runline_uploads = wp_upload_dir( null, false ); $runline_fonts = trailingslashit( $runline_uploads['basedir'] ) . 'runline-fonts'; if ( is_dir( $runline_fonts ) ) { require_once ABSPATH . 'wp-admin/includes/file.php'; WP_Filesystem(); global $wp_filesystem; if ( $wp_filesystem ) { $wp_filesystem->rmdir( $runline_fonts, true ); } } global $wpdb; $wpdb->query( "DROP TABLE IF EXISTS {$wpdb->prefix}runline_stats, {$wpdb->prefix}runline_subscribers" ); // phpcs:ignore WordPress.DB.DirectDatabaseQuery, WordPress.DB.DirectDatabaseQuery.SchemaChange -- removing the plugin's own table on uninstall.