# HelloPack Constants

All HelloPack constants are defined in `wp-config.php` **before** the `/* That's all, stop editing! */` line. They take effect on the next page load — no cache clearing or plugin reactivation needed.

## HP_DISABLE_PLUGINS

Disables **update management and module loading** for the listed plugins. WordPress.org handles their updates instead.

```php
define( 'HP_DISABLE_PLUGINS', 'elementor-pro, cartflow-pro' );
```

**What is disabled:**
- Update injection (HelloPack will not provide updates)
- WP.org filter removal (the plugin stays in WP.org update checks)
- Plugin info override (WP.org provides the detail modal)
- Module loading (license interception, translations, custom logic)

**Value format:** Comma-separated plugin folder names (not file paths).

## HP_DISABLE_THEMES

Disables **update management and module loading** for the listed themes.

```php
define( 'HP_DISABLE_THEMES', 'bricks, hello' );
```

**What is disabled:**
- Update injection
- WP.org filter removal
- Module loading for the theme

**Value format:** Comma-separated theme folder names (slugs).

## HP_DISABLE_MODULES

Disables **individual modules** by their module ID, without affecting update management.

```php
define( 'HP_DISABLE_MODULES', 'elementor-pro, wp-rocket, acf-pro' );
```

Use this when you want HelloPack to still provide updates but skip the license interception module.

**Value format:** Comma-separated module IDs (same as the module filename without `.php`).

## HELLOPACK_MODE

Controls the plugin's operating mode. Currently supports one value:

```php
define( 'HELLOPACK_MODE', 'composer' );
```

**Composer mode** hides the entire admin UI (menu page, sub-pages, admin notices) while keeping everything else fully operational:

| Feature | Normal | Composer mode |
|---------|--------|---------------|
| Admin UI (menu, settings page) | Yes | **No** |
| Plugin/theme updates | Yes | Yes |
| Module loading | Yes | Yes |
| REST API | Yes | Yes |
| WP-CLI commands | Yes | Yes |
| Cron (auth check) | Yes | Yes |

Use this when managing the site entirely via WP-CLI or Composer and the admin dashboard is not needed.

## Combining Constants

| Constant | Updates | Module | Admin UI |
|----------|---------|--------|----------|
| `HP_DISABLE_PLUGINS` | Off | Off | — |
| `HP_DISABLE_THEMES` | Off | Off | — |
| `HP_DISABLE_MODULES` | On | Off | — |
| `HELLOPACK_MODE=composer` | On | On | Off |

You can combine them freely:

```php
// Fully disengage from Elementor Pro management
define( 'HP_DISABLE_PLUGINS', 'elementor-pro' );

// Keep WP Rocket updates but disable its license module
define( 'HP_DISABLE_MODULES', 'wp-rocket' );

// Let Bricks theme manage its own updates
define( 'HP_DISABLE_THEMES', 'bricks' );

// Headless mode — CLI/Composer only, no admin UI
define( 'HELLOPACK_MODE', 'composer' );
```
