Not working properly
The support doesn work on Saturdays and Sundays, so some Friday requests can be answered on Monday. If you have problems with registration ask help on contact us page pleaseIf you not got email within 24~36 business hours, firstly check your spam box, and if no any email from the support there - back to the forum and read answer here. DO NOT ANSWER ON EMAILS [noreply@pluginus.net] FROM THE FORUM!! Emails are just for your info, all answers should be published only here.
The support doesn work on Saturdays and Sundays, so some Friday requests can be answered on Monday.
Quote from Chen on April 25, 2026, 12:13When I make this switch, it doesn't work properly.In the store, when I attempt to switch between the various sorting options—"Sort by popularity," "Sort by average rating," "Sort by latest," "Sort by price: low to high," and "Sort by price: high to low"—the feature does not function correctly; it remains in a perpetual loading state and fails to display the prices.
When I make this switch, it doesn't work properly.In the store, when I attempt to switch between the various sorting options—"Sort by popularity,""Sort by average rating,""Sort by latest,""Sort by price: low to high," and"Sort by price: high to low"—the feature does not function correctly; it remains in a perpetual loading state and fails to display the prices.
Quote from Alex Dovlatov on April 27, 2026, 12:10Hi Chen
Thank you for reaching out.
Could you please provide a bit more detail so we can help you properly:
- What exactly do you mean by "this switch" — are you switching between currencies using FOX, or something else?
- Please share the URL of your shop page where the issue occurs.
- What theme are you using?
- What caching plugin are you using if any (WP Rocket, LiteSpeed, W3 Total Cache etc.)?
- What version of FOX are you currently running?
Looking forward to your reply.
Hi Chen
Thank you for reaching out.
Could you please provide a bit more detail so we can help you properly:
- What exactly do you mean by"this switch" — are you switching between currencies using FOX, or something else?
- Please share the URL of your shop page where the issue occurs.
- What theme are you using?
- What caching plugin are you using if any (WP Rocket, LiteSpeed, W3 Total Cache etc.)?
- What version of FOX are you currently running?
Looking forward to your reply.
Quote from Chen on April 27, 2026, 14:11Thank you very much for your reply. My website is jinxellara.com, and I am using WooCommerce. When I click on sorting options—such as "Sort by popularity"—on the Shop page, the currency display keeps spinning and fails to load.
Thank you very much for your reply. My website is jinxellara.com, and I am using WooCommerce. When I click on sorting options—such as"Sort by popularity"—on the Shop page, the currency display keeps spinning and fails to load.
Quote from Alex Dovlatov on April 28, 2026, 11:29Hello Chen
Thank you for the details. When the page first loads, FOX detects the price placeholders and replaces them with real prices via AJAX — that works fine. But when WooCommerce reloads the product list after a sorting change, it injects fresh price placeholders into the page and FOX does not know about them, so they stay as spinners forever. If to refresh page all is fine: jinxellara.com/shop/?currency=GBP&orderby=popularity
The fix is to add a small script that polls for unresolved price placeholders and triggers FOX to process them. Add this to your theme's functions.php:
add_action('wp_footer', function () { if (!is_shop() AND !is_product_category()) { return; } ?> <script> jQuery(function ($) { var woocs_initial_load_done = false; document.addEventListener('after_woocs_get_products_price_html', function () { woocs_initial_load_done = true; }); setInterval(function () { if (!woocs_initial_load_done) { return; } if (typeof woocs_shop_is_cached === 'undefined' || !woocs_shop_is_cached) { return; } var $loaders = $('.woocs_price_code.woocs_preloader_ajax'); if (!$loaders.length) { return; } var products_ids = {}; var products_currency = {}; $loaders.each(function () { products_ids[$(this).data('redraw-id')] = $(this).data('product-id'); if ($(this).data('currency')) { products_currency[$(this).data('redraw-id')] = $(this).data('currency'); } }); $.post(woocs_ajaxurl, { action: 'woocs_get_products_price_html', products_ids: products_ids, products_currency: products_currency, current_currency: woocs_current_currency['name'] }, function (data) { data = JSON.parse(data); if (!$.isEmptyObject(data)) { $('.woocs_price_code').each(function () { if (typeof data.ids[$(this).data('redraw-id')] !== 'undefined') { $(this).replaceWith(data.ids[$(this).data('redraw-id')]); } }); $('.woocs_price_code').removeClass('woocs_preloader_ajax'); if (typeof data.currency_data !== 'undefined') { woocs_current_currency = data.currency_data; } } }); }, 800); }); </script> <?php });The key point: the interval checks first whether there are any price placeholders waiting to be resolved. If there are none, it does nothing and makes no server requests. It only fires an AJAX call when unresolved placeholders are actually present on the page, which happens right after WooCommerce reloads the product list via sorting.
Please test it ...
Place please actual purchase code of the plugin into the private area of this ticket:
https://share.pluginus.net/image/i20230222134241.png
https://share.pluginus.net/image/i20230222134615.png
https://share.pluginus.net/image/i20230222134511.png
Hello Chen
Thank you for the details. When the page first loads, FOX detects the price placeholders and replaces them with real prices via AJAX — that works fine. But when WooCommerce reloads the product list after a sorting change, it injects fresh price placeholders into the page and FOX does not know about them, so they stay as spinners forever. If to refresh page all is fine: jinxellara.com/shop/?currency=GBP&orderby=popularity
The fix is to add a small script that polls for unresolved price placeholders and triggers FOX to process them. Add this to your theme's functions.php:
add_action('wp_footer', function () {
if (!is_shop() AND !is_product_category()) {
return;
}
?>
<script>
jQuery(function ($) {
var woocs_initial_load_done = false;
document.addEventListener('after_woocs_get_products_price_html', function () {
woocs_initial_load_done = true;
});
setInterval(function () {
if (!woocs_initial_load_done) {
return;
}
if (typeof woocs_shop_is_cached === 'undefined' || !woocs_shop_is_cached) {
return;
}
var $loaders = $('.woocs_price_code.woocs_preloader_ajax');
if (!$loaders.length) {
return;
}
var products_ids = {};
var products_currency = {};
$loaders.each(function () {
products_ids[$(this).data('redraw-id')] = $(this).data('product-id');
if ($(this).data('currency')) {
products_currency[$(this).data('redraw-id')] = $(this).data('currency');
}
});
$.post(woocs_ajaxurl, {
action: 'woocs_get_products_price_html',
products_ids: products_ids,
products_currency: products_currency,
current_currency: woocs_current_currency['name']
}, function (data) {
data = JSON.parse(data);
if (!$.isEmptyObject(data)) {
$('.woocs_price_code').each(function () {
if (typeof data.ids[$(this).data('redraw-id')] !== 'undefined') {
$(this).replaceWith(data.ids[$(this).data('redraw-id')]);
}
});
$('.woocs_price_code').removeClass('woocs_preloader_ajax');
if (typeof data.currency_data !== 'undefined') {
woocs_current_currency = data.currency_data;
}
}
});
}, 800);
});
</script>
<?php
});The key point: the interval checks first whether there are any price placeholders waiting to be resolved. If there are none, it does nothing and makes no server requests. It only fires an AJAX call when unresolved placeholders are actually present on the page, which happens right after WooCommerce reloads the product list via sorting.
Please test it ...
Place please actual purchase code of the plugin into the private area of this ticket:
https://share.pluginus.net/image/i20230222134241.png
https://share.pluginus.net/image/i20230222134615.png
https://share.pluginus.net/image/i20230222134511.png
