Определение потребности
В WooCommerce интегрированы темы WordPress, обновление корзины в заголовке Подсчет элементов без перезагрузки страницы — распространенная проблема. jQuery предлагает решение, но вопросы возникают, когда элементы могут быть добавлены в нескольких количествах.
Использование AJAX для получения общего количества
Для динамического получения общего количества корзин из PHP сеансов с использованием jQuery, создается файл reloadCart.php для отображения значения:
cart->get_cart_contents_count();
?>
Реализация AJAX
Однако попытки выполнить вызовы AJAX к этому файлу с помощью функций jQuery get(), post() или ajax() не увенчались успехом. .
Улучшенный подход
Вместо того, чтобы полагаться на перезагрузку, WooCommerce предлагает специальный хук действия woocommerce_add_to_cart_fragments, который поддерживает Ajax.
Интеграция HTML
Вставьте количество корзин в заголовок с уникальным идентификатором или классом:
$items_count = WC()->cart->get_cart_contents_count();
?>
PHP-код
Реализуйте следующий код в файле function.php темы или плагине:
add_filter( 'woocommerce_add_to_cart_fragments', 'wc_refresh_mini_cart_count');
function wc_refresh_mini_cart_count($fragments){
ob_start();
$items_count = WC()->cart->get_cart_contents_count();
?>
Замените #mini-cart-count на .mini-cart-count, если используете класс.
Обновление jQuery
Если дополнительное обновление jQuery требуется:
$(document.body).trigger('wc_fragment_refresh');
или
$(document.body).trigger('wc_fragments_refreshed');
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3