Skip to content

Add check for register_uninstall_hook #716

@terriann

Description

@terriann

What problem would the enhancement address for VIP?

Because the contents of /wp-content/plugins and /wp-content/themes are setup as read-only directories on the VIP Go platform, admin users cannot uninstall plugins from within the wp-admin. This results in the function register_uninstall_hook never being able to run.

A VIP customer can deactivate a plugin through the admin, but uninstallation can only be done by removing the plugin from the GitHub repo and deploying the changes. If a customer needs to run any clean-up steps associated with a plugin or theme's use of register_uninstall_hook, their development team has to reverse engineer the code to execute any functionality that needs to run.

This is not entirely unique to VIP, but only impacts WordPress environments where the /wp-content/plugins and /wp-content/themes are read-only, so it may not be a good fit for the WordPress Coding Standards.

Describe the solution you'd like

A sniff that will flag places where the register_uninstall_hook function is used. Preferably as an error because it is functionality that will not work.

What code should be reported as a violation?

register_uninstall_hook( __FILE__, 'your_prefix_uninstall' );

What code should not be reported as a violation?

I'm unaware of cases where this might be detected as a false positive.

Additional context

None applicable

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions