WordPress Entwickler für Programmierung Ihrer Webprojekte
WordPress Entwickler für Programmierung Ihrer Webprojekte
  • Start
  • Unser Angebot
  • Blog
  • Kontakt
Avatar (Thumbnail) zum Blogeintrag

Artikel Menge im Warenkorb Widget ändern? Wie implementiere ich das in meinem WooCommerce Theme richtig?

Mit Liebe in die Tasten geklopft von: souri | 24. Oktober 2021

ajax mini-cart Warenkorb Aktualisierung Warenkorb Anzahl Warenkorb Symbol WooCommerce

WooCommerce arbeitet im Hintergrund viel mit AJAX-Requests

Wird ein Produkt in den Warenkorb gelegt, so ändert sich im Warenkorb-Symbol rechts oben die Anzahl der Artikel und die Gesamtsumme:

Kleine Bestellübersicht vom Storefront-Theme

Das passiert per AJAX – also dynamisch im Hintergrund, ohne die Seite neu zu laden.

Aber wie passiert das im Code jetzt genau, und wie kann ich als WooCommerce-Theme-Entwickler da eingreifen?

 

    Inhalt auf dieser Seite:

  1. WooCommerce arbeitet im Hintergrund viel mit AJAX-Requests
  2. woocommerce_add_to_cart_fragments Hook ist die Lösung

woocommerce_add_to_cart_fragments Hook ist die Lösung

In der Klasse WC_AJAX gibt es die Funktion get_refreshed_fragments() welche den für uns wichtigen Hook triggert!

Es handelt sich um den woocommerce_add_to_cart_fragments Hook.

WooCommerce Funktion get_refreshed_fragments in der wc_ajax

In den müssen wir uns reinhängen.

Der Screenshot der Funktion get_refreshed_fragments() zeigt uns eh, was zu tun ist.

Anhand der Variable $mini_cart sehen wir, welches Format der Hook sich erwartet, nämlich:

jQuery Selektor => HTML

apply_filters wird ein Array übergeben, und dort müssen wir eben neue Einträge geben.

Der Key ist ein jQuery styled Selektor, oben zb div.widget_shopping_cart_content.

Der Value ist das HTML.

Im Frontend wird nach einem Update des Warenkorbs der Dom-Node mittels jQuery Selektor (hier unser Array-Key) gesucht, und der Inhalt mit unserem Array-Value ersetzt!

Das beliebte Storefront-Theme zeigt es vor, wie man diesen Hook bedient:

Screenshot der Funktion storefront_cart_link_fragment

 

Es gibt zwei neue Einträge, einmal für den Dom-Node a.cart-contents und einmal für a.footer-cart-contents.

(Ich bin mit der Formatierung der Funktion und der Verwendung von Output-Buffering nicht ganz glücklich, weil das für mich nicht auf den ersten Blick durchschaubarer Code ist. Aber jeder hat da andere Geschmäcker)

 

Somit haben wir die Funktionen bzw die Codestellen herausgefunden, die für das dynamische Ändern des Mini-Carts (Mini-Warenkorbs) zuständig ist!

 

Telefon+436603100000
E-Mailsouri@wp-entwickler.at
AdresseWP-Entwickler
Safenauer-Straße 62,
8230 Hartberg

Navigation

Start Unser Angebot Blog

Impressum & Kontakt

wp-entwickler.at wird betrieben von

  • wp-entwickler Rene Souri
  • UID: ATU60950509
  • Safenauer-Straße 62
  • 8230 Hartberg

Wir lieben WordPress und freuen uns, mit Ihnen ein Projekt entwickeln zu können!

  • Impressum
  • AGB

wp-entwickler.at ist eine indit.at Division