Identificando a necessidade
No WooCommerce temas WordPress integrados, atualizando o carrinho de cabeçalho contar itens sem recarregar a página é um desafio comum. jQuery oferece uma solução, mas surgem dúvidas quando os itens podem ser adicionados em várias quantidades.
Utilizando AJAX para recuperar a contagem total
Para recuperar dinamicamente a contagem total do carrinho do PHP sessões usando jQuery, um arquivo reloadCart.php é criado para ecoar o valor:
cart->get_cart_contents_count();
?>
Implementação AJAX
No entanto, as tentativas de fazer chamadas AJAX para este arquivo usando as funções get(), post() ou ajax() do jQuery não tiveram sucesso .
Abordagem aprimorada
Em vez de depender de uma recarga, o WooCommerce oferece um serviço dedicado gancho de ação woocommerce_add_to_cart_fragments que suporta Ajax.
Integração HTML
Incorpore a contagem do carrinho no cabeçalho com um ID ou classe exclusivo:
$items_count = WC()->cart->get_cart_contents_count();
?>
Código PHP
Implemente o seguinte código no arquivo function.php do tema ou em um plugin:
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();
?>
Substitua #mini-cart-count por .mini-cart-count se estiver usando uma classe.
jQuery Refresh
Se houver atualização adicional do jQuery é obrigatório:
$(document.body).trigger('wc_fragment_refresh');
ou
$(document.body).trigger('wc_fragments_refreshed');
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3