I’m planing to create a plugin called Goodbye Dolly. Once installed, it will take care for the installation to remove the auto-installing Hello Dolly (WordPress Plugin) shipping with wordpress.
This is due to popular request. Some folks have asked for it.
I like the idea. I never cared so far because I removed it manually. But I like the idea to save the hassles and have this removal automated for the future.
I wanted to just delete the file when it exists basically. But I’m unsure a bit about file system abstraction. And I would like to do this on install / update already, so this does not needs to be checked for all the time.
So which hooks are to be considered? Any best practice ideas?
Update:
While I appreciate the idea, isn’t this just replacing one plugin with another? Rarst’s link already has the answer — it just needs to be reworked a bit to check for the plugin periodically, like so:
Slap that into your functions.php file (in a child theme if you aren’t already using a custom theme) and you should be good to go.
There is the plugin Unwanted Plugins Remover now. It will remove the plugins Akismet and Hello Dolly on every upgrade. You can filter the plugin list to match only one of those plugins or to add more.
From the code:
Mike had covered killing Dolly in one of his answers, but that was written for initial install script.
I’ve tried to follow code that upgrades core to find a fitting hook, but that is quite a maze with some upgrader classes I am not acquainted with yet.