Tier 2 (Pro) unlocks the full Pro debugging stack on SignalPress → Settings → Debugging. It replaces the basic sp() helper when a Tier 2 license is active.
Requires Manage debugging permission — Permissions and Access.
Enable Pro debugging
- Confirm Tier 2 license is active — Free vs SignalPress Pro.
- Open SignalPress → Settings → Debugging.
- Under Debugging (Pro section):
- Check Enable PHP debugging and/or Enable JavaScript debugging
- Choose PHP destination — Screen, Clockwork, or Both — Clockwork
- Configure capture limits, redaction, and display options
- Save changes.
Settings are stored in signalpress_debug_settings. When the license lapses, saved settings remain but runtimes stay locked.
Runtime gates
| Setting | Default | Effect |
|---|---|---|
| Enable PHP debugging | Off | PHP sp() captures |
| Enable JavaScript debugging | Off | Loads Pro JS bundle |
| Frontend enabled | Off | Allow output on public site |
| Admin enabled | On | Allow output in wp-admin |
Both area gates must pass for the selected runtime. Use Frontend enabled carefully on production — pair with cache compatibility when full-page cache is active.
PHP API
PHP
sp( $value, 'Label' ); sp( $payload, 'Webhook body', [ 'channel' => 'webhooks', 'tags' => [ 'outbound', 'stripe' ], ] );
- Uses Symfony VarDumper for formatted output
- Respects configurable capture depth, max items, string length, and total bytes
- Automatic redaction can be toggled (basic tier always redacts)
- Optional file/line and stack trace display on screen output
- Destination: screen, clockwork, or both
After each capture, SignalPress fires signalpress/debug/record with a SignalPress_Debug_Record object for extensions.
Screen output
Same dark footer panel as basic debugging, with richer formatting and channel labels when enabled.
Clockwork output
See Clockwork and Chrome DevTools. Requires PHP destination Clockwork or Both.
JavaScript API
When JS debugging is enabled, Pro loads the bundled signalpress-debug.js (Consola-backed):
JavaScript
sp('hello');
sp.info({ userId: 5 }, 'User context');
sp.warn('Missing field', 'Validation');
sp.error(err, 'Handler failed');
sp.table(rows, 'Active integrations');
sp.trace('Checkout flow');
sp.time('render');
sp.timeEnd('render');
const webhooks = sp.channel('webhooks');
webhooks.info(payload, 'Incoming');
JavaScript output goes to the browser console only — not Clockwork or the PHP screen panel.
Channel colors and trace display follow inline window.SignalPressDebugConfig from saved settings.
Capture limits (defaults)
| Setting | Default | Range |
|---|---|---|
| Capture depth | 8 | 1-20 |
| Max items | 50 | 1-500 |
| Max string length | 2,000 | 50-50,000 |
| Max total bytes | 1 MB | 1 KB-10 MB |
Per-service Developer diagnostics (Tier 1+)
Separate from the Debugging tab — on each integration Settings tab when Tier 1+:
| Option | Effect |
|---|---|
| Browser console logging | Service-specific console messages |
| PHP error log | Write service diagnostics to PHP error log |
| Capture toasts | Self-dismissing frontend notices when events send (off by default) |
These complement Pro sp() when tracing a single integration. Tier 1 required; Pro debugging itself requires Tier 2.
Capture toasts (Tier 1+)
Per-integration Show frontend capture toasts lives under Developer diagnostics on each service Settings tab. Tier 1 shows toasts to site administrators; Tier 2 adds optional Toast audience user/role rules.
Full behavior, cross-page persistence, and limitations: Capture toasts.
Related Pro features on the same tab
| Section | Doc |
|---|---|
| Cache compatibility | Debugging with page caches |
| Clockwork diagnostics | Clockwork |
| Automatic error monitoring | Automatic error monitoring |
What to read next
- Basic debugging with sp() — free fallback
- Clockwork and Chrome DevTools
- Debugging with page caches
- Automatic error monitoring
- Hooks and Filters — transform payloads at capture time (Tier 1+)