Automattic / Automattic/VIP-Coding-Standards

Add a check for upgrader_process_complete

Offen
#715 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Standard: VIP-Go Type: Enhancement
Vorherrschende Sprache
PHP
Sterne
261
Forks
44
Ø Merge
19 Min.
Gemergte PRs (30 T.)
1

Beschreibung

## 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, and end-users can't install or update plugins from within the `wp-admin`, the [hook `upgrader_process_complete`](https://developer.wordpress.org/reference/hooks/upgrader_process_complete/) will never run for either plugin install or update on the VIP Go platform.

When a VIP customer installs a plugin (via the [GitHub repo](https://docs.wpvip.com/technical-references/vip-codebase/)) with a function tied to that hook, their development team has to reverse engineer the plugin's code to execute that functionality.

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 [`upgrader_process_complete` hook](https://developer.wordpress.org/reference/hooks/upgrader_process_complete/) is used. Preferably as an error because it is functionality that will not work.

## What code should be reported as a violation?

```
add_action( 'upgrader_process_complete', 'my_upgrade_function',10, 2);
```

## 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_

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Beginne damit, die vorhandenen Sniff- und Testkonventionen des Repositorys zu lesen, und verfolge dann, wie Aufrufe des WordPress-Hooks upgrader_process_complete erkannt werden. Das Issue enthält den Ziel-Hook und ein verletzendes add_action-Beispiel; die Aufgabe ist erledigt, wenn der Sniff diese Verwendung als Fehler meldet, ohne dass ein Fall mit identifiziertem False Positive vorliegt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
php, wordpress
Bereich
tooling
Issue-Typ
Feature
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
50/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.