It is possible to method to also drop wordpress plugin database tables when blog is erased? When i observed, just the default wordpress database tables are dropped although not the wordpress plugin produced tables.


I think you will need to code up a custom wordpress plugin with this. Throughout the Remove Site process, you will find many actions and filters that you could hook into. One particularly you should think about is:

wp-admin/includes/ms.php Line 86:
$drop_tables = apply_filters( 'wpmu_drop_tables', $wpdb->tables( 'blog' ) );

So inside your custom wordpress plugin, address the difficult wordpress plugin tables directly. Add something similar to,

function remove_plugin_xyz_tables($tables) {
   global $wpdb;
   $id = isset( $_REQUEST['id'] ) ? intval( $_REQUEST['id'] ) : 0;
   $tables[] = $wpdb->get_blog_prefix($id).'table_xyz';
   return $tables;
add_filter('wpmu_drop_tables', 'remove_plugin_xyz_tables');

Some caveats: I'm not sure how WordPress will handle the problem when the table does not exist, so you would test might you might want to first determine whether it is available and/or maybe the wordpress plugin is active and/or determine whether it's within the array already. This requires you to definitely give a line for every difficult wordpress plugin, also it assumes the wordpress plugin has correctly prefixed its tables. An alternate is always to 'SHOW TABLES LIKE "'.$wpdb->get_blog_prefix($id).'%" and merge your result using what Wordpress already is aware of. Lastly, I did not test any one of this, which means this code is basically to suggest you within the right direction on creating a solid solution on your own.

Anyway, when your wordpress plugin is performed, network activate it, also it should take proper care of all of the dirty meet your needs whenever a website is erased!

Ok last one, and alert the wordpress plugin author towards the problem to. It is possible that s/he does not use WPMS and is not even conscious that it is really an problem. If you possess the means to do this, code up an area and submit it to that particular person in order to save them the job. Free FTW.

All the best~