J'ai un plugin qui crée des tables lorsqu'il est activé ou lorsqu'un nouveau blog est ajouté à un réseau. Lorsqu'un blog est supprimé, j'aimerais pouvoir supprimer ces tables pour ce blog. Y a-t-il un crochet disponible pour cela?
J'imagine que ce serait quelque chose de similaire à wpmu_new_blog, mais je ne trouve pas d'équivalent pour la suppression.
La fonction wpmu_delete_blog
dans /wp-admin/includes/ms.php
a un crochet d'action appelé delete_blog
. Ce hook transmet la variable $blog_id
Vous pouvez essayer de vous connecter à ce crochet, bien qu'il soit exécuté au tout début de la fonction.
C’est sans doute la meilleure façon de le faire si vous ne supprimez que des tableaux, mais la réponse de de nonetosee est également valide et serait la manière requise si besoin de faire autre chose que l’abaissement des tables.
add_filter("wpmu_drop_tables", "DropTablesForBlog");
function DropTablesForBlog($tables)
{
global $wpdb;
$tables[] = $wpdb->prefix . "my_plugin_table_1";
$tables[] = $wpdb->prefix . "my_plugin_table_2";
$tables[] = $wpdb->prefix . "my_plugin_table_2";
return $tables;
}