Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Mengira Item Troli Pengepala Ajaxify dalam WooCommerce?

Bagaimana untuk Mengira Item Troli Pengepala Ajaxify dalam WooCommerce?

Patricia Arquette
Patricia Arquetteasal
2024-10-30 01:26:02860semak imbas

How to Ajaxify Header Cart Items Count in WooCommerce?

Item Troli Pengepala Ajaxify Dikira dalam WooCommerce

Cabaran

Dalam bersepadu WooCommerce tersuai Tema WordPress, isu timbul apabila penunjuk kiraan item troli memaparkan nilai yang salah selepas menambah item. Pelakunya telah menambahkan kuantiti item tertentu pada troli, menyebabkan penunjuk hanya bertambah satu.

Penyelesaian

Untuk menangani perkara ini, kami boleh memanfaatkan WooCommerce yang berdedikasi cangkuk tindakan woocommerce_add_to_cart_fragments, yang menyediakan sokongan Ajax untuk mengemas kini kiraan item troli.

Pelaksanaan

1. HTML dan ID/Kelas

Dalam fail header.php tema, kami mentakrifkan elemen HTML yang akan memaparkan kiraan troli. Adalah penting untuk menetapkan ID atau kelas unik untuk penyasaran mudah:

<code class="html"><div id="mini-cart-count"><?php echo WC()->cart->get_cart_contents_count(); ?></div></code>

2. Kod PHP

Seterusnya, kami menambah fungsi pada fail functions.php yang menggunakan cangkuk untuk mengemas kini kandungan kiraan troli secara dinamik:

<code class="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();
    ?>
    <div id="mini-cart-count"><?php echo $items_count ? $items_count : ' '; ?></div>
    <?php
        $fragments['#mini-cart-count'] = ob_get_clean();
    return $fragments;
}</code>

3. Kemas Kini Ajax

Jika anda memerlukan kawalan tambahan dengan jQuery, pertimbangkan untuk menggunakan acara wc_fragment_refresh atau wc_fragments_refreshed:

<code class="javascript">$(document.body).trigger('wc_fragment_refresh');</code>

atau

<code class="javascript">$(document.body).trigger('wc_fragments_refreshed');</code>

Dengan melaksanakan perubahan ini , penunjuk kiraan item troli akan menggambarkan bilangan item dalam troli dengan tepat, walaupun semasa menambah kuantiti produk tertentu.

Atas ialah kandungan terperinci Bagaimana untuk Mengira Item Troli Pengepala Ajaxify dalam WooCommerce?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn