«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как динамически обновлять количество элементов корзины в заголовке WooCommerce с помощью AJAX?

Как динамически обновлять количество элементов корзины в заголовке WooCommerce с помощью AJAX?

Опубликовано 4 ноября 2024 г.
Просматривать:861

How to Dynamically Update WooCommerce Header Cart Items Count Using AJAX?

Количество товаров в корзине в заголовке Ajaxify в WooCommerce

Определение потребности

В 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