Anzeige der Einkaufswageninformationen innerhalb des Warenkorbmenüs

Ich verwende diesen Code in der functions.php meines Themas, um Einkaufswageninformationen neben dem Einkaufswagenmenüpunkt hinzuzufügen.

Dieser Code fügt diese Informationen jedoch außerhalb des

  • und ich möchte, dass die Informationen in
  • .

    Kannst du mir helfen, diesen Code zu ändern, um die Informationen innerhalb des

  • anzuzeigen?

    Vielen Dank

     /** * This function adds the WooCommerce or Easy Digital Downloads cart icons/items to the top_nav menu area as the last item. */ add_filter( 'wp_nav_menu_items', 'my_wp_nav_menu_items', 10, 2 ); function my_wp_nav_menu_items( $items, $args, $ajax = false ) { // Top Navigation Area Only if ( ( isset( $ajax ) && $ajax ) || ( property_exists( $args, 'theme_location' ) && $args->theme_location === 'primary' ) ) { // WooCommerce if ( class_exists( 'woocommerce' ) ) { $css_class = 'menu-item menu-item-type-cart menu-item-type-woocommerce-cart'; // Is this the cart page? if ( is_cart() ) $css_class .= ' current-menu-item'; //$items .= '
  • '; $items .= 'cart->get_cart_url() ) . '">'; // $items .= wp_kses_data( WC()->cart->get_cart_total() ) . ' - ' . wp_kses_data( sprintf( _n( '%d item', '%d items', WC()->cart->get_cart_contents_count(), 'simple-shop' ), WC()->cart->get_cart_contents_count() ) ) . ''; $items .= ' (' . wp_kses_data( sprintf( _n( '%d', '%d', WC()->cart->get_cart_contents_count(), 'simple-shop' ), WC()->cart->get_cart_contents_count() ) ) . ')'; $items .= ''; //$items .= '
  • '; } } return $items; } /** * This function updates the Top Navigation WooCommerce cart link contents when an item is added via AJAX. */ add_filter( 'woocommerce_add_to_cart_fragments', 'my_woocommerce_add_to_cart_fragments' ); function my_woocommerce_add_to_cart_fragments( $fragments ) { // Add our fragment $fragments['li.menu-item-type-woocommerce-cart'] = my_wp_nav_menu_items( '', new stdClass(), true ); return $fragments; }

    BEARBEITEN (neuer Code)

      add_filter( 'wp_setup_nav_menu_item','my_item_setup' ); function my_item_setup($item) { if ( class_exists( 'woocommerce' ) ) { global $woocommerce; ?> <!--
    cart->get_cart_contents_count() ); ?>

    --> url == esc_url( wc_get_cart_url() ) ) { //$item->title = 'MY BAG('. '' . wp_kses_data( sprintf( _n( '%d', '%d', WC()->cart->get_cart_contents_count(), 'simple-shop' ), WC()->cart->get_cart_contents_count() ) ) . ')'; //$item->title = 'MY BAG('. '' . wp_kses_data( sprintf( _n( '%d', '%d', $woocommerce->cart->cart_contents_count(), 'simple-shop' ), $woocommerce->cart->cart_contents_count() ) ) . ')'; $item->title = 'MY BAG('. '' . $woocommerce->cart->get_cart_contents_count() . ')'; //$item->title = sprintf( _n( '%d', '%d', $woocommerce->cart->cart_contents_count();, 'simple-shop' ), $woocommerce->cart->cart_contents_count(); ); } } return $item; }

    Solutions Collecting From Web of "Anzeige der Einkaufswageninformationen innerhalb des Warenkorbmenüs"

    Die Elemente im Array $ fragments ersetzen den HTML-Inhalt des Elements, das Sie als Schlüssel angeben. In Ihrem Beispiel

     $fragments['li.menu-item-type-woocommerce-cart'] = 'some html'; 

    einige html werden in das DOM-Element

    Hier ist das Javascript:

     $( 'li.menu-item-type-woocommerce-cart' ).replaceWith( 'some html' ); 

    Gibt es schon ein solches Element in Ihrem Menü?

  • Ich poste die vollständige Lösung, die ich verwendet habe (mit zwei Sprachen, um in functions.php platziert zu werden):

     add_filter( 'wp_setup_nav_menu_item','my_item_setup' ); function my_item_setup($item) { if ( ! is_admin() ) { if ( class_exists( 'woocommerce' ) ) { global $woocommerce; if ( $item->url == esc_url( wc_get_cart_url() ) ) { if (is_null($woocommerce->cart)){ } else { if( get_locale() == 'fr_FR' ) { $item->title = 'PANIER ('. '' . $woocommerce->cart->get_cart_contents_count() . ')'; } else { $item->title = 'MY BAG ('. '' . $woocommerce->cart->get_cart_contents_count() . ')'; } } } } } return $item; } /** * This function updates the cart link contents when an item is added via AJAX. */ add_filter( 'woocommerce_add_to_cart_fragments', 'my_woocommerce_add_to_cart_fragments' ); function my_woocommerce_add_to_cart_fragments( $fragments ) { // Add our fragment $fragments['li.menu-item-type-woocommerce-cart'] = my_item_setup( ''); return $fragments; }