| 开发者 | australcode |
|---|---|
| 更新时间 | 2026年8月16日 04:10 |
| PHP版本: | 8.2 及以上 |
| WordPress版本: | 7.0 |
| 版权: | GPL-2.0-or-later |
| 版权网址: | 版权信息 |
[acrwd_balance], [acrwd_history], [acrwd_earn_message], [acrwd_redeem]) — place them anywhere, including Elementor, Bricks or Divi layouts.wp acrwd import yith WP-CLI command, both with a dry-run preview, to migrate customer balances when switching.wp acrwd recalc WP-CLI command, with a dry-run, that checks every wallet against its transaction history and repairs any that disagree. Useful after a database restore or a support script that touched the ledger directly.acrwd_* actions and filters to wire points into your own logic.australcode-points-rewards folder to /wp-content/plugins/, or install it from the Plugins screen.Yes. Australcode Points and Rewards extends WooCommerce and will show a notice if WooCommerce is not active.
Yes. It uses the WooCommerce order CRUD API and declares HPOS compatibility.
In dedicated custom tables (balances and an append-only transaction ledger), so reads stay fast as your store grows.
You set the redemption rate, a minimum number of points required to redeem, and the maximum percentage of a cart that can be paid with points.
Yes — that is the default. The redeem box sits in the cart and in the My Account rewards area, and the points come straight off the order total, like a payment. Nothing generates a coupon code you then have to send, chase or clean up.
Yes, and the redeem field is in the cart itself in both. In the block-based cart it sits in the Cart totals panel, below the order total and the coupon accordion; in the classic cart it sits above the totals. The My Account rewards area works with both as well, and the points come off the order total either way.
Never, by default. With a Pro license you can set an expiration window; points are then swept by a daily task.
Yes, and it is meant to. If a customer earns points, spends them, and the order is then cancelled or refunded, the points they already spent are taken back — which can leave the balance below zero. The plugin leaves it there instead of rounding up to zero, because the balance is an honest record of what the customer owes the programme, and quietly forgiving it would let anyone reset their debt by cancelling an order. They earn their way back up; redeeming stays unavailable while the balance is at or below zero.
Yes. The Rewards tab in My Account lists every movement, twenty per page, with pages to reach the rest. The ledger keeps every entry — nothing is trimmed or rolled up — so what a customer sees is the same record the shop sees.
No. Proportional adjustment applies to refunds issued from the moment you update onwards; orders you refunded before that are left exactly as they are, and no balance changes on update. If you want to settle an old case, adjust that customer by hand from the Customers screen — the change is recorded in the ledger like any other.
Yes. The plugin ships a dedicated YITH importer: an Import page in the admin and a wp acrwd import yith WP-CLI command, both with a dry-run preview. It reads your customers' existing balances and writes them into the plugin's ledger, so nobody loses their points when you switch.
A few deliberate choices set it apart:
You mostly don't have to. The customer-facing surfaces inherit your theme: text color, fonts and the hairlines/backgrounds derive from whatever the surrounding page is using, so they follow a light or a dark theme on their own. Where a block theme publishes a brand color (primary, accent or accent-1), it is picked up too.
To go further, add CSS variables on .acfk.acrwd-scope — the class every rewards fragment carries:
.acfk.acrwd-scope { --acrwd-accent: #b3005e; }
--acrwd-accent — accent for figures, the tier multiplier, the progress bar and the focus ring. Also settable without code in Settings → Display. Leave it unset and the theme's own brand color is used.--acrwd-fg — text color for the rewards surfaces. Unset means "inherit from the page", which is almost always what you want.--acrwd-muted — secondary text: the points value under a balance, timestamps in the history table, help lines. Unset inherits from the page at reduced emphasis.--acrwd-border — the hairlines around cards and between history rows.--acrwd-surface — the card background behind the balance, the redemption list and the history table.--acfk-radius, --acfk-gap, --acfk-hairline, --acfk-wash — corner radius, spacing and the neutral lines/backgrounds shared by every Australcode plugin on the storefront.--acrwd-accent, or the plugin's green) rather than inheriting the theme's, because it carries text on top and an inherited color cannot be checked for contrast in advance.
The full catalogue, with argument lists, is on the plugin's Help screen (Rewards → Help). Hooks marked (Pro) fire only when the Pro version is installed; the rest are in the free version: Filters:
acrwd_earning_multiplier — ( int $points, int $user_id, WC_Order $order ) — stack an extra multiplier on top of the base and per-role amounts.acrwd_role_earning_multiplier — ( float $multiplier, int $user_id, string[] $roles ) — customise the per-role earning multiplier.acrwd_earning_bonus_points — ( int $bonus, int $user_id, WC_Order $order ) — add flat bonus points after every multiplier has been applied.acrwd_order_earned_points — ( int $fallback, WC_Order $order ) — read what an order earned (the ledger amount once awarded, otherwise a preview), to show the figure on your thank-you page.acrwd_account_endpoint — ( string $endpoint ) — change the My Account "Rewards" endpoint slug.acrwd_enqueue_frontend — ( bool $should ) — force-load the storefront CSS where the plugin cannot detect its own output, which happens with some page builders.acrwd_tier_label — ( string $label, string $tier_id ) — supply the display label for a VIP tier if you render tiers yourself.acrwd_points_earned — ( int $user_id, WC_Order $order ) — fires after an order's points are awarded.acrwd_points_adjusted — ( int $user_id, int $points ) — fires after you adjust a balance by hand; the points are signed.acrwd_myaccount_after_summary — ( int $user_id, Balance $balance ) — fires in the My Account "Rewards" tab after the balance summary, so you can add your own panel.acrwd_tier_changed (Pro) — ( int $user_id, ?Tier $tier ) — fires when a customer's VIP tier changes; $tier is null when they drop below the lowest one.acrwd_email_points_expiring (Pro) — ( int $user_id, int $points, string $expires ) — fires per customer when the expiry reminder runs, to send your own notification.The free version keeps running and your points, ledger and history stay untouched — the Pro features switch off until you renew. Pro is one site: an annual subscription, or a one-time lifetime license that never expires. Refunds are handled by Freemius, our Merchant of Record, with a 14-day money-back guarantee.
Free users can ask questions in the WordPress.org support forum. A Pro license includes email support — write to info@australcode.io and we'll help you get your rewards program running.
wp acrwd recalc rebuilds point balances from the transaction ledger, with --customer and --dry-run. Balances are kept as a running figure so reading them stays instant; if ledger rows are ever removed outside the plugin, this is what puts the two back in agreement.