'smsqr_code', 'post_status' => 'any', 'posts_per_page' => 100, 'fields' => 'ids', 'no_found_rows' => true, 'ignore_sticky_posts' => true, 'update_post_meta_cache' => false, 'update_post_term_cache' => false, ) ); if ( empty( $code_ids ) ) { break; } foreach ( $code_ids as $code_id ) { wp_delete_post( (int) $code_id, true ); } } $table_name = $wpdb->prefix . 'smsqr_scans'; // phpcs:ignore WordPress.DB.DirectDatabaseQuery.SchemaChange, WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching -- Removing the plugin requires removing its private aggregate table. $wpdb->query( $wpdb->prepare( 'DROP TABLE IF EXISTS %i', $table_name ) ); delete_option( 'smsqr_db_version' ); } if ( is_multisite() ) { $smsqr_site_ids = get_sites( array( 'fields' => 'ids', 'number' => 0, ) ); foreach ( $smsqr_site_ids as $smsqr_site_id ) { switch_to_blog( (int) $smsqr_site_id ); smsqr_uninstall_site_data(); restore_current_blog(); } } else { smsqr_uninstall_site_data(); }