Installed Plugins. * Removes settings, saved results and the Pro card dismissal on every site. * * @package YouWall */ defined( 'WP_UNINSTALL_PLUGIN' ) || exit; /** * Remove this plugin's data from the current site. */ function youwall_uninstall_site() { global $wpdb; delete_option( 'youwall_settings' ); delete_option( 'youwall_cache_version' ); // Cached results are transients named youwall_*. There is no core function to // delete transients by prefix, so this one cleanup query runs directly. // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching $wpdb->query( $wpdb->prepare( "DELETE FROM {$wpdb->options} WHERE option_name LIKE %s OR option_name LIKE %s", $wpdb->esc_like( '_transient_youwall_' ) . '%', $wpdb->esc_like( '_transient_timeout_youwall_' ) . '%' ) ); } if ( is_multisite() ) { foreach ( get_sites( array( 'fields' => 'ids', 'number' => 0, ) ) as $youwall_site_id ) { switch_to_blog( $youwall_site_id ); youwall_uninstall_site(); restore_current_blog(); } } else { youwall_uninstall_site(); } delete_metadata( 'user', 0, 'youwall_pro_dismissed', '', true );