Hooks reference
Every action and filter Elite Balance exposes, generated from the source, grouped by what you are trying to change.
Lifecycle
| Hook | Type | What it does |
|---|---|---|
rb_elite_balance_loaded | action | Fires once the plugin has fully booted; all services registered. Extensions start here. Receives the plugin container. |
rb_elite_balance_installed | action | Fires after the schema installs or upgrades (per site on multisite). Receives the schema version. |
rb_elite_balance_container_bindings | filter | Swap or extend the service container bindings. The deepest extension point; use sparingly. |
rb_elite_balance_capability_map | filter | Which roles receive wallet management capabilities on install. |
Ledger writes and events
| Hook | Type | What it does |
|---|---|---|
rb_elite_balance_before_credit | filter | The arguments of a credit before validation. The primary interception point for credits. |
rb_elite_balance_before_debit | filter | The arguments of a debit before validation. Same for debits. |
rb_elite_balance_before_hold_placed | filter | The arguments of a hold before it reserves funds. |
rb_elite_balance_transaction_created | action | After ANY transaction commits (durable, never on replays). Receives the Transaction. |
rb_elite_balance_hold_placed | action | After a hold commits. Receives the Hold. |
rb_elite_balance_hold_captured | action | After a hold becomes a debit. Receives the Hold and the Transaction. |
rb_elite_balance_hold_released | action | After a hold is released or expires. Receives the Hold and an expired flag. |
rb_elite_balance_transaction_types | filter | Register custom transaction types (label + direction). Core types cannot be removed. |
rb_elite_balance_wallet_created | action | After a wallet is created. Receives the Wallet. |
rb_elite_balance_wallet_status_changed | action | After lock or unlock. Receives the Wallet and the previous status. |
Checkout and orders
| Hook | Type | What it does |
|---|---|---|
rb_elite_balance_gateway_is_available | filter | Final say on whether the wallet gateway offers itself for the current customer and cart. |
rb_elite_balance_gateway_description | filter | The gateway description shown at checkout. |
rb_elite_balance_partial_payment_offered | filter | Whether the partial payment control appears for this customer and cart. |
rb_elite_balance_partial_payment_max_amount | filter | The cap on the wallet portion (default: cart contents plus their tax; shipping excluded). Receives the cap and the cart. |
rb_elite_balance_partial_payment_label | filter | The label of the wallet line on the order. |
rb_elite_balance_partial_payment_smart_offer | filter | Tunes the default state of the partial offer at checkout. |
rb_elite_balance_wallet_discount_label | filter | The label of the pay-by-wallet discount line at checkout and on orders. |
rb_elite_balance_wallet_discount_base | filter | The base the pay-by-wallet discount computes against (default: items after discounts plus their tax, shipping excluded). Receives the base and the cart or order. |
rb_elite_balance_orphan_hold_statuses | filter | Order statuses whose leftover pending holds the safety sweep releases. |
rb_elite_balance_wallet_collection_failed | action | A paid order’s wallet portion could not be collected. Receives the order and a reason. |
rb_elite_balance_refund_credited | action | A refund was credited to a wallet. Receives the Transaction, the order, and the refund ID. |
rb_elite_balance_topup_credited | action | A top-up credited a wallet. Receives the Transaction and the top-up order. |
rb_elite_balance_topup_amount_limits | filter | The top-up minimum and maximum. |
Customer surfaces
| Hook | Type | What it does |
|---|---|---|
rb_elite_balance_account_endpoint_label | filter | The wallet page name, after the setting. |
rb_elite_balance_account_endpoint_slug | filter | The wallet page URL slug, after the setting. |
rb_elite_balance_account_transactions_per_page | filter | History page size on the wallet page (default 15). |
rb_elite_balance_account_tabs | filter | The wallet page tabs (id => label + priority). Register the id in sanitized form; all-digit ids are reserved for legacy pagination URLs. |
rb_elite_balance_account_tab_{id} | action | Renders a custom tab’s content when it is active. The id matches the sanitized key you registered. |
rb_elite_balance_account_wallet_after_summary | action | Template hook: after the balance summary on the wallet page (the top-up form mounts here). |
rb_elite_balance_account_wallet_before_history | action | Template hook: before the history table. |
rb_elite_balance_account_wallet_after_history | action | Template hook: after the history table. |
rb_elite_balance_balance_html | filter | The final HTML of the balance block and shortcode. |
rb_elite_balance_customer_note | filter | The customer-facing note of one transaction (empty string hides it). Receives the Transaction. |
rb_elite_balance_customer_note_types | filter | Which transaction types show their notes to customers (default: system-composed types only). |
rb_elite_balance_email_skipped_types | filter | Transaction types that never send the credited/debited emails (default: order payments, migrations, and withdrawal debits, which have their own dedicated email). |
Admin
| Hook | Type | What it does |
|---|---|---|
rb_elite_balance_overview_top | action | Mount point at the top of the Overview tab (the migration card lives here). Add your own cards. |
rb_elite_balance_tools_sections | action | Mount point after the built-in sections of the Tools tab. Add your own tool section. |
rb_elite_balance_settings_fields | filter | Add or adjust fields on the Elite Balance settings tab. |
rb_elite_balance_adjustment_reasons | filter | The preset reason list on every adjustment form. |
rb_elite_balance_audience_conditions | filter | Register custom audience conditions for bulk operations. |
rb_elite_balance_batch_retention_days | filter | How long bulk operation summaries are kept (default 90; the ledger rows stay forever). |
rb_elite_balance_import_max_rows | filter | CSV import row cap (default 10,000). |
rb_elite_balance_import_max_bytes | filter | CSV import size cap (default 1 MB). |
rb_elite_balance_import_pending_ttl | filter | How long an unconfirmed import upload stays reviewable (default one hour). |
rb_elite_balance_advanced_logging_enabled | filter | Force diagnostic logging on or off. |
Migration
| Hook | Type | What it does |
|---|---|---|
rb_elite_balance_migration_sources | filter | Register migration sources for other wallet plugins. See Custom migration sources. |
Withdrawals
| Hook | Type | What it does |
|---|---|---|
rb_elite_balance_withdrawal_requested | action | After a customer opens a withdrawal request and its reserving hold is placed. Receives the WithdrawalRequest. |
rb_elite_balance_withdrawal_transferred | action | After staff mark a request transferred and the hold is captured into a debit. Never fires on a repeat call. Receives the WithdrawalRequest and the Transaction. |
rb_elite_balance_withdrawal_rejected | action | After staff reject a request and its hold is released. Receives the WithdrawalRequest and the reason. |
rb_elite_balance_withdrawal_cancelled | action | After a customer cancels their own pending request and its hold is released. Receives the WithdrawalRequest. |
rb_elite_balance_withdrawal_transfer_note | filter | The ledger note composed for a transferred withdrawal. Substitute the human payout method label for the stored key here. |
rb_elite_balance_withdrawal_amount_limits | filter | The per-request minimum and maximum, after the settings. |
rb_elite_balance_withdrawal_methods | filter | The parsed payout methods list (key, label, instructions, fee), after the setting. |
rb_elite_balance_withdrawal_default_fee | filter | The default flat fee, after the setting. Per-method fees and the staff-edited fee at transfer time still apply on top. |
rb_elite_balance_rejection_reasons | filter | The preset reason list on the admin rejection form. The chosen reason is shown to the customer. |
rb_elite_balance_withdrawal_details_retention_days | filter | Days after a request reaches a terminal state before its payout details are auto-blanked (default 30, minimum 1). |
Earning
| Hook | Type | What it does |
|---|---|---|
rb_elite_balance_earn_awarded | action | After an earning rule credited a wallet. Never fires on replays. Receives the Transaction, the rule array, and the earning order (null for triggers without one: signup, review, birthday). |
rb_elite_balance_earn_reversed | action | After an award was (partly) reversed because its order was refunded or cancelled. Never fires on replays. Receives the reversal Transaction, the rule array (null when the rule no longer exists), and the order. |
rb_elite_balance_earn_base | filter | The eligible base an earning rule computes against (default: items subtotal after discounts, excluding shipping and taxes). Receives the base and the order; must return a canonical non-negative decimal string. |
rb_elite_balance_birthday_field_label | filter | The label of the opt-in birthday field on My Account -> Account details. |
Templates
| Hook | Type | What it does |
|---|---|---|
rb_elite_balance_locate_template | filter | The resolved path of a template about to render. |
rb_elite_balance_template_args | filter | The arguments passed into a template. Receives the args and the template name. |
This reference is generated from the plugin source, so names and parameters match the shipped code. In-code docblocks above each hook carry the full parameter signatures.
Stuck, or found a gap in these docs? Tell us and a human who works on the plugin answers.
Contact support →