Frequently Asked Questions
Table of Contents
- Does this work with full page caching?
- Does it work with variable products?
- How is this different from WooCommerce cart fragments?
- Will it slow my pages down?
- Why do I briefly see one price and then it changes?
- Do prices update for products added by infinite scroll?
- Does it support WooCommerce Product Bundles / Composite Products?
- My prices are wrong for tax-exempt countries — can it fix that?
- Is the AJAX endpoint a security risk?
- Can I use it with a headless / REST front end?
- Does it work with multi-currency or dynamic-pricing plugins?
Does this work with full page caching?
Yes — that’s the entire point. Configure your caching layer to cache product and shop pages, and the plugin loads correct, per-visitor prices via AJAX after the cached page renders. See Caching Plugin Configuration.
Does it work with variable products?
Yes. Both simple and variable products are supported. Variable products get an extra ajax-price-variable class on their placeholder, and the price refreshes again when a variation is selected (the plugin listens to WooCommerce’s found_variation event).
How is this different from WooCommerce cart fragments?
Cart fragments refresh the mini-cart; they don’t make catalogue prices cacheable. This plugin specifically solves price (and optionally stock) personalisation on cached shop/product/category pages by batching one AJAX request for every product on the page.
Will it slow my pages down?
No meaningfully. The front-end script is tiny and no-ops when there are no placeholders on the page. It makes a single batched request for all products on the page rather than one request per product. The cached price stays visible until the real price arrives, so there’s no blank flash and no layout shift.
Why do I briefly see one price and then it changes?
That’s by design. The cached page shows the price that was current when the page was cached; a fraction of a second later the AJAX response replaces it with the price calculated for the current visitor (their location, tax, dynamic pricing, etc.). The cached price is kept visible during the swap specifically to avoid a “Loading…” flash or layout shift.
Do prices update for products added by infinite scroll?
Yes. The plugin integrates with Auto Infinite Scroll — newly appended product cards are refreshed automatically, and only the new products are fetched (not the whole page again). See Compatibility & Integrations.
Does it support WooCommerce Product Bundles / Composite Products?
Yes, via optional adapters that activate automatically when those plugins are present. They add per-child/per-component stock data to the AJAX response. See Compatibility & Integrations.
My prices are wrong for tax-exempt countries — can it fix that?
If your store enters prices inclusive of tax and you sell into VAT-free regions, enable Fix prices for VAT-exempt locations. See VAT-Exempt / Tax-Inclusive Pricing for the full explanation and caveats.
Is the AJAX endpoint a security risk?
No. It only ever returns data for published products (draft/private/scheduled products are never exposed), it returns only public price/stock information, it changes no data, and the number of products per request is capped. See the Architecture article’s security section.
Can I use it with a headless / REST front end?
The plugin targets server-rendered WooCommerce themes (it filters WooCommerce’s price/stock HTML). For a fully headless build you’d query WooCommerce pricing directly rather than through this plugin. The underlying get_wc_prices AJAX action is documented in the Developer Reference if you want to consume it yourself.
Does it work with multi-currency or dynamic-pricing plugins?
Generally yes — because the real price is computed by WooCommerce inside the live AJAX request, it picks up whatever currency/dynamic-pricing logic those plugins apply. See Compatibility & Integrations for specifics and caveats.