web-dev-qa-db-fra.com

Suppression des options partagées à l'aide de uninstall.php

J'utilise uninstall.php pour mon plugin pour supprimer toutes les traces que mon plugin a faites sur un site lors de la désinstallation (suppression). Je l'ai bien fait, mais même après la suppression, il y a quelques champs dans la table options:

  • uninstall_plugins
  • recently_activated
  • _site_transient_update_plugins

dans ces options, il y a aussi plusieurs valeurs d'autres plugins.

Comment puis-je prendre soin de telles traces, comment puis-je aussi les supprimer?

J'ai vérifié WooCommerce et constaté qu'ils ne laissent aucune trace après leur suppression, si la case "Supprimer les données" est cochée.

Comment puis-je le faire?

1
Mayeenul Islam

Je ne pense pas que vous devriez toucher à ces options. WordPress Core gère déjà cela, que ce soit en supprimant les références à votre plugin quand il est supprimé (comme dans delete_plugins() ), ou en étant codé de telle manière qu'il peut ignorer la référence au plugin supprimé. En réalité, aucune de ces trois options ne durera très longtemps, car elles sont toutes régénérées régulièrement. L'un est un transitoire, qui expire naturellement de toute façon. Les plugins sont supprimés de la liste récemment activée après une semaine. Et le plugin est supprimé de l'option uninstall_plugins par uninstall_plugin() .

De plus, WooCommerce ne les touche pas . Il a probablement semblé que cela s'était supprimé parce qu'il n'avait jamais été ajouté à ces valeurs, ou avait été supprimé aussi rapidement par WordPress. (Il n'aurait pas du tout été ajouté à uninstall_plugins, car il utilise un fichier uninstall.php au lieu d'une fonction).

Donc, TL; DR: Vous n'avez pas besoin de vous inquiéter à ce sujet, WordPress s'en occupera.

2
J.D.