CTA Discovery
A small banner above the legacy My Wallet page invites customers to try Wallet Central.
What It Does
| For | Means |
|---|---|
| Customer | Sees a "Try the new Wallet Central" banner on /my-account/my_wallet/. One click → modern fullscreen wallet |
| Admin | One toggle to show / hide. Custom copy. Dismissable per-customer |
What Customers See
The CTA injects above the legacy My Wallet page (the entire view shown for context):

Above the legacy hero on /my-account/my_wallet/:
┌────────────────────────────────────────────────────┐
│ NEW │
│ Try the new Wallet Central │
│ Faster, mobile-friendly, with QR pay and full │
│ activity in one place. │
│ │
│ [ Open Wallet Central ] × │
└────────────────────────────────────────────────────┘
Click the banner → land at /wallet-central/.
Click the × (if dismissable is on) → banner stops showing for that customer.
Setup
Wallet → Settings → Wallet Central → CTA
| Setting | Default | What it does |
|---|---|---|
| Enable | ON | global toggle |
| Dismissable | ON | shows the × close button, persists per-user |
| Eyebrow | New | the small label above the title |
| Title | Try the new Wallet Central | main headline |
| Sub | description | one-line marketing copy |
| Button label | Open Wallet Central | the CTA button text |
When Enable is OFF the banner never renders. Wallet Central remains accessible directly via /wallet-central/.
Common Scenarios
Re-show after a redesign
Bump the dismissal version (in plugin settings → "Reset CTA dismissals"). All per-customer dismissals invalidated; everyone sees the banner again.
Drop customers into a specific view (Add money campaign)
Override the CTA target to /wallet-central/add-to-wallet/ via filter (see dev section). Useful during a top-up promo.
Hide the banner for one specific customer
Customer can dismiss themselves (× button). Per-user persists.
A/B test copy
Use a filter to vary the copy by user ID (see dev section).
When Something Goes Wrong
| Problem | Fix |
|---|---|
| Banner never shows | Master toggle off OR per-user dismissed OR CTA disabled OR theme killing the action |
| Banner shows on wrong page | Custom theme calling the action elsewhere; remove + re-bind |
| Click does nothing | Theme intercepting click via JS — check console |
For developers — hooks + custom variants
Hooks
| Hook | Type | When |
|---|---|---|
wkwp_central_cta_should_render | filter | global gate |
wkwp_central_cta_copy | filter | per-user copy override |
wkwp_central_cta_href | filter | swap CTA target |
wkwp_central_cta_html | filter | rewrite full markup |
wkwp_central_cta_clicked | action | analytics hook (client-fired) |
Deep link example
add_filter( 'wkwp_central_cta_href', function() {
return WKWP_Central_Router::url( 'add-to-wallet' );
} );
Inline shortcode variant
[wkwp_central_cta variant="inline" title="Open in app view"]
| Attribute | Notes |
|---|---|
variant | banner (default) / inline (compact) / pill (single chip) |
title | overrides admin title |
href | overrides link target |
Force-hide programmatically
add_filter( 'wkwp_central_cta_should_render', '__return_false' );
