「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > AJAX を使用して WooCommerce ヘッダー カートのアイテム数を動的に更新する方法

AJAX を使用して WooCommerce ヘッダー カートのアイテム数を動的に更新する方法

2024 年 11 月 4 日に公開
ブラウズ:387

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

WooCommerce の Ajaxify ヘッダー カート アイテム数

ニーズの特定

WooCommerce 統合 WordPress テーマでヘッダー カートを更新するページをリロードせずにアイテム数をカウントするのは一般的な課題です。 jQuery は解決策を提供しますが、アイテムを複数の数量で追加できる場合には疑問が生じます。

AJAX を使用して合計数を取得する

PHP からカートの合計数を動的に取得するにはjQuery を使用したセッションでは、値をエコーする reloadCart.php ファイルが作成されます:

cart->get_cart_contents_count();
?>

AJAX 実装

ただし、jQuery の get()、post()、または ajax() 関数を使用してこのファイルへの AJAX 呼び出しを行う試みは失敗しました。 .

改善されたアプローチ

リロードに依存する代わりに、WooCommerce は Ajax をサポートする専用の woocommerce_add_to_cart_fragments アクション フックを提供します。

HTML 統合

一意の ID またはクラスを使用してヘッダーにカート数を埋め込みます:

$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 Refresh

追加の jQuery 更新の場合は必須です:

$(document.body).trigger('wc_fragment_refresh');

or

$(document.body).trigger('wc_fragments_refreshed');
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3