| 1 |
# Update Control |
| 2 |
|
| 3 |
"Update Control" adds a manual toggle and configuration options directly to the native WordPress Settings > General interface for managing automatic core, plugin, theme, and translation updates. It provides a simple, UI-driven way to customize auto-update rules without requiring hardcoded PHP constants or custom filters in `functions.php`. |
| 4 |
|
| 5 |
--- |
| 6 |
|
| 7 |
## Features |
| 8 |
|
| 9 |
- **Global Toggle**: Enable or disable all automatic updates entirely with a single select field. |
| 10 |
- **Granular Update Control**: |
| 11 |
- **Core Update Level**: Limit auto-updates to *Minor Updates* (default), *Major Updates*, or opt-in to *Development Updates* (bleeding-edge nightlies). |
| 12 |
- **Plugins**: Auto-update *all* plugins, disable plugin auto-updates entirely, or defer to WordPress's per-plugin defaults (choose individually). |
| 13 |
- **Themes**: Auto-update *all* themes, disable theme auto-updates entirely, or defer to WordPress's per-theme defaults (choose individually). |
| 14 |
- **Translations**: Choose whether translation files should auto-update. |
| 15 |
- **Advanced Options**: |
| 16 |
- **VCS Check Bypass**: Force WordPress auto-updates even if version control files (e.g. Git, SVN) are detected in the installation directory. |
| 17 |
- **Notification Control**: |
| 18 |
- Selectively enable or disable update result emails for *Successful*, *Failed*, or *Critically Failed* updates. |
| 19 |
- Disable WordPress debug emails when running development/nightly builds of WordPress. |
| 20 |
- **Dynamic Settings UI**: Fields dynamically enable, disable, and hide/show using jQuery depending on your toggle selections. |
| 21 |
|
| 22 |
--- |
| 23 |
|
| 24 |
## Installation |
| 25 |
|
| 26 |
1. Upload the `update-control` directory to the `/wp-content/plugins/` directory. |
| 27 |
2. Activate the plugin through the **Plugins** menu in the WordPress dashboard. |
| 28 |
3. Configure settings under **Settings > General** -> **Automatic Updates**. |
| 29 |
|
| 30 |
--- |
| 31 |
|
| 32 |
## Development & Linting |
| 33 |
|
| 34 |
The plugin is structured as a classically bootstrapped single-file PHP plugin (with a stylesheet and script for settings page interactions). To run linting locally and ensure compliance with WordPress Coding Standards (WPCS): |
| 35 |
|
| 36 |
```bash |
| 37 |
# Run phpcs from the plugin directory |
| 38 |
../vendor/bin/phpcs --standard=phpcs.xml |
| 39 |
|
| 40 |
# Auto-fix linting errors where possible |
| 41 |
../vendor/bin/phpcbf --standard=phpcs.xml |
| 42 |
``` |
| 43 |
|