Linux 软件免费装
Banner图

Australcode Loyalty Program, Points and Rewards for WooCommerce

开发者 australcode
更新时间 2026年10月22日 05:27
PHP版本: 8.1 及以上
WordPress版本: 7.1
版权: GPL-2.0-or-later
版权网址: 版权信息

标签

points loyalty program loyalty points and rewards reward points

下载

1.2.0 1.0.3 1.0.2 1.1.0 1.3.0 1.5.5 1.0.1 1.5.6

详情介绍:

Australcode Points and Rewards is a loyalty plugin for WooCommerce with one design goal: a points program that stays fast and predictable as your store grows. Every customer gets a points wallet backed by dedicated, append-only ledger tables, and they redeem points in the cart or at checkout straight from that balance — no coupon codes to manage. Customers earn on every order and you control earning, redemption and display from a clean WordPress admin. Switching from another loyalty plugin? A built-in importer migrates your customers' point balances from YITH WooCommerce Points and Rewards — from the admin or with a WP-CLI command, dry-run included. Requires: WordPress 6.5+ · PHP 8.1+ · WooCommerce 9.0+ (WooCommerce must be active). Free features Pro features (unlocked with a license) Get Pro → External services This plugin uses Freemius to handle Pro licensing, checkout and plugin updates. Freemius is the Merchant of Record for the Pro plan. Service provider: Freemius, Inc. Terms of Service: https://freemius.com/terms/ Privacy Policy: https://freemius.com/privacy/

安装:

  1. Upload the australcode-points-rewards folder to /wp-content/plugins/, or install it from the Plugins screen.
  2. Activate the plugin through the "Plugins" menu in WordPress. WooCommerce must be active.
  3. Go to Australcode Rewards → Settings to configure earning, redemption and display options.
  4. (Pro) Go to Australcode Rewards → Upgrade to buy or activate a Pro license — checkout and activation are handled in-dashboard by Freemius, and you can manage the license later under Australcode Rewards → Account.

屏幕截图:

  • My Account rewards area — customers see their balance, redeem points straight onto the current cart (no coupon code involved) and review their full earn/redeem history.
  • Settings — configure earning, redemption and display, with inline guidance and a recommendation for each non-obvious option.
  • VIP tiers — reward your most loyal customers with higher earning multipliers (Pro).
  • Customers — per-customer balances and lifetime activity with search and CSV export. The tier column, bulk actions and blocking are Pro.
  • Campaigns — schedule limited-time earning multipliers, like a double-points weekend, that stack on your base rate (Pro).
  • Import — bring each customer's YITH WooCommerce Points and Rewards history over entry by entry, with its original dates, plus the YITH settings that have an equivalent here.

升级注意事项:

1.5.6 The tier and campaign forms no longer overflow their card. No breaking changes. 1.5.5 New [acrwd_if_can_redeem] shortcode for redeem notes that only customers with points should see, and an exact order count in the YITH import dry run. No breaking changes. 1.5.4 Guest orders linked to an account created afterwards now earn their points, and wp acrwd award-order fixes the ones linked before. No breaking changes. 1.5.3 The Pro points emails get a greeting, a summary box and a button, and use your points label in the heading and subject. If you edited their heading or subject in WooCommerce → Settings → Emails, your text is kept. No breaking changes. 1.5.2 A page with the same slug as the My Account endpoint shows again. No breaking changes. 1.5.1 The cart totals refresh right after redeeming points in themes that draw them as fragments. No breaking changes. 1.5.0 Redeem points as a coupon if your invoicing needs it, keep coupons and items on sale out of redemption, choose which roles take part, and redeem without reloading in multi-step checkouts. The YITH importer now brings over the full history with its original dates. No breaking changes. 1.4.0 Redeem points at checkout, classic and block-based, and a storefront that follows your theme. Fixes the block checkout undercharging orders paid partly with points, refunds returning the wrong points, and Pro bonuses that were never reversed. No breaking changes. 1.3.1 Fixes points expiry taking points that had not expired, and a tier change discarding points credited at the same moment (both Pro). Redemption now offers exactly what the cart applies, and uninstall deletes all data. Now installs on PHP 8.1. No breaking changes. 1.3.0 Partial refunds now adjust points in proportion, both the points an order earned and the points spent on it. Until now they adjusted nothing. Nothing to reconfigure, but partial refunds you issue from now on will take points back where they used to take none. 1.2.0 Adds redemption directly in the block-based cart, so customers no longer leave the cart to spend points. Fixes a bug where saving Settings on the free version switched off a Pro review setting. The display name changes — display only, nothing to reconfigure. No breaking changes. 1.1.0 Adds a free-product reward (Pro) and fixes the free version presenting Pro as active after a purchase, before the Pro download is installed — settings you set there never took effect. Also restores the keyboard focus outline on admin buttons. No breaking changes. 1.0.3 Adds a "Support Forum" link to the plugin menu and fixes the License screen, which showed an empty page to Pro owners. No breaking changes. 1.0.2 Pro: fixes the birthday field in My Account, which silently failed to save. If you offer a birthday reward, update — until now no customer could record a birthday for it. No breaking changes. 1.0.1 Fixes redemption discounts being inflated by the tax rate in tax-inclusive stores. No breaking changes. 0.4.0 New Display & Widgets settings, shortcodes and blocks for every rewards surface, a Pro referrals report, and UI fixes. No breaking changes. 0.3.2 Pro-only features now ship only in the Pro version; the free version stays fully functional. Internal compliance and styling fixes. 0.3.0 Mobile-friendly tables across the admin and refreshed styling. No breaking changes. 0.2.0 Edit tiers and campaigns in place, block-aware asset loading and complete es_CL/es_ES translations. 0.1.0 Initial release.

常见问题:

Does this plugin require WooCommerce?

Yes. Australcode Points and Rewards extends WooCommerce and will show a notice if WooCommerce is not active.

Is it compatible with High-Performance Order Storage (HPOS)?

Yes. It uses the WooCommerce order CRUD API and declares HPOS compatibility.

How are points stored?

In dedicated custom tables (balances and an append-only transaction ledger), so reads stay fast as your store grows.

Can customers spend points on any order?

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.

Why can't a customer pay 100% of the order with points?

Because the cap is measured on the cart before tax. Points come off the order like a discount on the pre-tax amount, so with a 100% cap a customer can cover the products but the tax is still due — on stores whose prices include tax, that is the tax share of the price. The Redemption settings show the cap as it applies, and the cart never offers more than it can take.

Can customers redeem points at checkout?

Yes. The redeem box is in the cart and at checkout — in the classic and in the block-based versions of both — and in the My Account rewards area. Points come straight off the order total, like a payment, and nothing generates a coupon code you then have to send, chase or clean up.

Does it work with the block-based Cart and Checkout?

Yes. In the block-based cart and checkout the redeem field sits in the order summary, below the totals; pressing Enter applies the points without placing the order. In the classic cart it sits next to "Proceed to checkout", and on the classic checkout above the checkout form. Both versions also show a "You'll earn X points" line with the totals.

When do points expire?

Never, by default. With a Pro license you can set an expiration window; points are then swept by a daily task.

Can a points balance go negative?

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.

Can customers see their whole points history?

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.

I already refunded part of an order before updating. Will points be adjusted for those?

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.

I'm switching from YITH WooCommerce Points and Rewards — can I migrate?

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.

What makes this plugin different?

  • Redeem from a wallet, not a coupon. Customers spend points directly in the cart or at checkout, and no coupon is created: there are no codes to manage, clean up or reconcile.
  • Built on custom tables. Balances and history live in dedicated, append-only ledger tables rather than in post or user meta, so reads stay fast as your customer base grows and every movement has a row you can audit.
  • A free version that works end to end. Earning with per-product, per-category and per-role rates, wallet redemption in the cart and at checkout, the My Account area, product and cart messaging, shortcodes and blocks, the Appearance tab, the YITH importer and wp acrwd recalc are all free; Pro adds automation (an earning-rules engine, bonus events, VIP tiers, campaigns, referrals and expiration).
  • Every refund is symmetric. Refund an order — fully or partially — and exactly the points it earned come back out, calculated against the running refunded total. Refund the same order twice and nothing is double-counted; re-pay a failed order and the redemption is re-charged from the ledger, not from a remembered figure.
  • Clean, focused admin. A single, uncluttered settings area rather than a sprawl of options.

Can I restyle the rewards surfaces to match my theme?

You mostly don't have to. The customer-facing surfaces inherit your theme: text color and fonts come from the surrounding page, and the hairlines and card backgrounds derive from that text color, so they follow a light or a dark theme on their own. The Appearance tab (Settings) picks the accent — the plugin's, your theme's or your own — the color scheme (follow the theme, or force light or dark on the cards), density and corner radius, without code. To go further, set these CSS variables on .acfk.acrwd-scope, the class every rewards fragment carries. A rule in your theme wins over the Appearance tab: .acfk.acrwd-scope { --acrwd-accent: #1e3a8a; --acrwd-on-accent: #fff; --acrwd-radius: 0px; }

  • --acrwd-accent — fill of the floating widget, the solid buttons and the progress bar (default: the plugin's green).
  • --acrwd-on-accent — text on that fill. The Appearance tab derives it by contrast; if you set --acrwd-accent by hand, set this one too.
  • --acrwd-meter — fill of the tier progress bar (defaults to the accent).
  • --acrwd-gap — spacing between blocks (12, 16 or 24 px from the density setting).
  • --acrwd-radius — corner radius of cards and fields (0, 10 or 16 px).
  • --acrwd-fg — text color of the rewards surfaces. Unset means "inherit from the page", which is almost always what you want.
  • --acrwd-muted — secondary text: the value under a balance, dates in the history.
  • --acrwd-border — the hairlines around cards and between history rows.
  • --acrwd-surface — the card background.
  • --acrwd-widget-offset — distance of the floating widget from the bottom edge, added to the device's safe area.
Variables with an underscore (--acrwd-_…) are private and change between versions. To change the markup instead of the styling, copy a template from the plugin's templates/frontend/ folder into your theme's acrwd/ folder.

Which actions and filters can I hook into?

The full catalogue, with argument lists, is on the plugin's Developers screen (Australcode Points and Rewards → Developers). 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_user_can_earn — ( bool $allowed, int $user_id ) — decide whether a customer earns points, after the "Roles that earn" setting.
  • acrwd_user_can_redeem — ( bool $allowed, int $user_id ) — decide whether a customer can redeem points, after the "Roles that redeem" setting.
  • acrwd_redemption_coupon_code — ( string $code ) — change the code of the virtual coupon used when points are redeemed as a coupon.
  • 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|int $order ) — read what an order earned (the ledger amount once awarded, 0 once reverted or for a guest order, otherwise a preview), to show the figure on your thank-you page. Accepts the order or its id.
  • acrwd_estimate_multiplier — ( int $points, int $user_id ) — apply multipliers to an estimate shown before there is an order ("Earn X points" on the product page, "You'll earn X" in the cart and checkout).
  • acrwd_earn_expires_at — ( ?string $expires_at, ?WC_Order $order, ?string $earned_at ) — the expiry date of a new lot of points, or null for never. $earned_at is the date the lot counts from (null = now; the YITH history import passes the original date). Without a listener, points never expire.
  • acrwd_text — ( string $text, string $key, array $ctx ) — change a storefront text by key (the same keys the Appearance tab edits); acrwd_text_{$key} filters a single one.
  • acrwd_widget_atts — ( array $atts, string $surface ) — change the resolved attributes of a storefront surface before its data loads.
  • acrwd_widget_data — ( array $data, string $surface, array $atts ) — change the data a storefront surface is about to render.
  • acrwd_wrapper_classes — ( string[] $classes, string $surface, array $atts ) — add or remove classes on the root element of a storefront surface.
  • acrwd_widget_html — ( string $html, string $surface, array $atts, array $data ) — post-process the final HTML of a storefront surface; the result is escaped again.
  • acrwd_locate_template — ( string $path, string $name ) — the path of a storefront template; a copy in your theme's acrwd/ folder wins by default.
  • 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 (Pro) — ( string $label, string $tier_id ) — supply the display label for a VIP tier if you render tiers yourself.
  • acrwd_customers_csv_columns — ( array $columns ) — add columns to the Customers CSV export; each one is a header plus a callable that receives the balance and returns the cell.
  • acrwd_admin_dashboard_panels — ( int $now_ts ) — print your own card in the Dashboard panel row.
Actions:
  • acrwd_points_credited — ( int $user_id, int $points, TransactionType $type, ?int $order_id, string $reason_code ) — fires after any movement of a balance (orders, bonuses, adjustments, imports, reversals); the points are signed.
  • acrwd_points_earned — ( int $user_id, WC_Order $order ) — fires after an order's points are awarded.
  • acrwd_before_render — ( string $surface, array $atts, array $data ) — print markup right before a storefront surface.
  • acrwd_after_render — ( string $surface, array $atts, array $data ) — print markup right after a storefront surface.
  • acrwd_points_adjusted — ( int $user_id, int $points ) — fires after a single manual adjustment on the Customers screen, or through the REST endpoint POST /wallet/adjust unless it is sent with notify=false; bulk actions and CSV imports do not fire it. 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.

What happens if my Pro license lapses?

The free version keeps running and your points, ledger and history stay untouched — the Pro features switch off until you renew. A customer you blocked with Pro can still be unblocked from the Customers screen. 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.

Do you offer support?

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.

更新日志:

1.5.6 1.5.5 1.5.4 1.5.2 1.5.1 1.5.0 1.4.0 1.3.1 1.3.0 1.2.0 1.1.0 1.0.3 1.0.2 1.0.1 1.0.0 0.11.0 0.10.0 0.9.0 0.8.0 0.7.0 0.6.0 0.5.0 0.4.0 0.3.2 0.3.1 0.3.0 0.2.0 0.1.0