Add check for register_uninstall_hook
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 42/100
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.
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 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
- Lingua principale
- PHP
- Stelle
- 261
- Fork
- 44
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di Automattic/VIP-Coding-Standards
-
AlwaysReturnInFilter: isInsideIfConditonal() guards the conditions array after reading itForse già presa @tomjn l’ha presa 1 giorno fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
-
Bug: PreGetPosts warns when the early is_main_query() return is not the first statement in its ifForse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 76/100
-
Suppress filters in get_posts false positiveForse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 68/100
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 48/100
-
Breaking Change Type: Maintenance
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
Automattic/VIP-Coding-Standards#849 · 1 commento ·
Tutte le issue di Automattic/VIP-Coding-Standards
Issue simili
-
Security SecurityBundle
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
symfony/symfony-docs#23173 ·
I maintainer di solito rispondono entro 3 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
fossology/fossology#3893 · 1 commento ·
I maintainer di solito rispondono entro 2 giorni
-
Documentation Feature: Self-Register / Verify UI
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
i18n
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
WordPress/wordpress.org#1002 ·
I maintainer di solito rispondono entro 4 giorni
-
Bug
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
I maintainer di solito rispondono entro 1 giorno