Automattic / Automattic/VIP-Coding-Standards

Add a check for upgrader_process_complete

オープン
#715 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る
Standard: VIP-Go Type: Enhancement
主要言語
PHP
スター
261
フォーク
44
平均マージ
19分
マージ済み PR(30日)
1

説明

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

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

まず、リポジトリに既存する sniff と test の規約を読み、次に WordPress の upgrader_process_complete hook への呼び出しがどのように検出されるかを追ってください。issue には対象の hook と、違反する add_action の例が示されています。sniff がその使用をエラーとして報告し、特定された false positive のケースがない状態になれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
php, wordpress
領域
tooling
issue の種類
機能追加
難易度
3/5
見積もり時間
1〜2日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
50/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。