Automattic / Automattic/VIP-Coding-Standards

Add a check for upgrader_process_complete

未关闭
#715 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
Standard: VIP-Go Type: Enhancement
主要语言
PHP
星标
261
派生
44
平均合并
19 分钟
30 天内合并 PR
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 摘要。