"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como atualizar dinamicamente a contagem de itens do carrinho de cabeçalho WooCommerce usando AJAX?

Como atualizar dinamicamente a contagem de itens do carrinho de cabeçalho WooCommerce usando AJAX?

Publicado em 2024-11-04
Navegar:345

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

Contagem de itens do carrinho de cabeçalho Ajaxify no WooCommerce

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');
Tutorial mais recente Mais>

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