Я хочу добавить динамическое c ajax обновление для значка корзины на WordPress. Я стилизовал иконку и поместил разметку в файл заголовка моего меню навигации:
<!-- Menu cart icon -->
<a class="" href="<?php echo wc_get_cart_url(); ?>">
<i class="fas fa-shopping-bag fa-2x"></i>
<span class="badge badge-pill badge-danger cart-menu-badge"><?php echo WC()->cart->cart_contents_count; ?></span>
</a>
Затем внутри файла functions.php
я добавил этот код:
add_filter( 'woocommerce_add_to_cart_fragments', 'mytheme_woocommerce_menu_cart_badge' );
function mytheme_woocommerce_menu_cart_badge( $fragments )
{
$items = WC()->cart->cart_contents_count;
$fragments['span.badge.badge-pill.badge-danger.cart-menu-badge'] = $items;
return $fragments;
}
Я заметил, что значок потеряет значок bootstrap 4 в индексе сайта, но будет поддерживать стиль только на странице корзины и будет обновляться без проблем, если на странице корзины я удалю продукт. Также значок не будет обновляться, если товар добавлен в корзину со страницы магазина.
Есть ли исправление, что не так с кодом?