Automattic / Automattic/VIP-Coding-Standards
Add check for register_uninstall_hook
- Lingua principale
- PHP
- Stelle
- 261
- Fork
- 44
- Merge medio
- 19m
- PR unite (30g)
- 1
Descrizione
## 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 `](https://developer.wordpress.org/reference/functions/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](https://docs.wpvip.com/technical-references/vip-codebase/) 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](https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards/).
## Describe the solution you'd like
A sniff that will flag places where the [`register_uninstall_hook` function](https://developer.wordpress.org/reference/functions/register_uninstall_hook/) 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_
Guida per i contributori
Apri la guida per i contributori
Direzione di ricerca
Inizia individuando gli sniffs e i test esistenti di PHP_CodeSniffer per rilevare le chiamate a funzione, quindi usa l’esempio register_uninstall_hook in questa issue come punto di ingresso. Il lavoro è completato quando le chiamate a register_uninstall_hook vengono segnalate come errori e nell’issue non sono stati identificati casi di falsi positivi.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- php
- Ambito
- tooling
- Tipo di issue
- Funzionalità
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 42/100