Every SignalPress site includes a basic sp() debugger on the Debugging tab. Use it for quick PHP and JavaScript inspection without a Pro license.
When Tier 2 Pro debugging is active, Pro replaces basic sp() entirely — see Pro debugging. Until then, or when Pro is installed but not licensed, basic debugging remains available.
Enable basic debugging
- Open SignalPress → Settings → Debugging.
- Under Basic debugging, check one or both:
- Enable PHP debugging
- Enable JavaScript debugging
- Save changes.
Both runtimes default to off. You need Manage debugging permission (administrators on Tier 0/1) — Permissions and Access.
If Pro is installed but locked (no Tier 2 license), the Pro section shows a Tier 2 badge and Basic debugging appears below as the active fallback.
PHP: sp() and sp_dump()
PHP
sp( $payload, 'Optional label' ); sp_dump( $complex_array ); // alias
Where output appears
Successful captures render a dark block at the bottom of the page (frontend or wp-admin footer). Each capture is a collapsible row with:
- Label (or value type)
- Source file and line
- Redacted
print_rdump
When PHP captures run
Basic PHP debugging only captures on HTML page loads when all of the following are true:
- PHP debugging is enabled
- User has Manage debugging
- Request is not REST, AJAX, JSON, cron, WP-CLI, or a non-HTML
Acceptheader
On the public frontend, SignalPress calls nocache_headers() when possible so dumps are not cached.
Fixed limits (basic)
| Limit | Value |
|---|---|
| Nesting depth | 5 |
| Max collection items | 20 per array/object |
| Max string length | 1,000 characters |
| Max total bytes | 128 KB per capture |
Secret-like keys (password, token, api_key, etc.) are always redacted. Pro debugging allows configurable limits — Pro debugging.
JavaScript: window.sp()
When JS debugging is enabled, SignalPress loads signalpress-basic-debug.js:
JavaScript
sp({ cartTotal: 42 }, 'Cart state');
sp.dump = sp; // alias
Output goes to the browser console as [SignalPress] label value. If Pro JS debugging is active, Pro’s Consola-backed bundle replaces window.sp.
Return value
sp() returns the original value in both PHP and JavaScript — use it inline:
PHP
$settings = sp( get_option( 'my_plugin_settings' ), 'Settings snapshot' );
Upgrade path
The basic footer notice mentions Pro features: Clockwork/DevTools output, channels, tags, and automatic error monitoring. See Debugging overview.
What to read next
- Debugging overview — tier matrix and permissions
- Pro debugging — when you have Tier 2
- Capturing Events with sp_capture() — production events (not debug dumps)
- Connection Tests and Delivery Log — verify integrations after debugging