Support » WooCommerce » Doppelte Ausgabe beim Warenkorb wenn Anzahl Artikel geändert wird

  • Gelöst bronnabutz

    (@bronnabutz)


    Hallo zusammen,
    ich sitze seit heute Mittag an der Kiste und komme nicht weiter. Bei meinem Onlineshop wird der Inhalt der Warenkorbseite dupliziert wenn ich die Anzahl der Artikel ändere und auf aktualisieren klicke. Wiederhole ich dies wenn der Inhalt doppelt ausgegeben wird dann wird genau die Anzahl der ausgegebenen Elemente wieder verdoppelt.
    Lade ich die Seite neu dann wird es wieder korrekt ausgegeben.
    – Plugins habe ich schon deaktiviert, kein Effekt
    – zusätzliche Codeschnipsel testweise entfernt, kein Effekt

    Ich komme einfach nicht weiter. Hier mein Systemreport:

    
    ### WordPress Environment ###
    
    WordPress address (URL): https://www.stylemate.de
    Site address (URL): https://www.stylemate.de
    WC Version: 6.5.1
    REST API Version: ✔ 6.5.1
    WC Blocks Version: ✔ 7.6.0
    Action Scheduler Version: ✔ 3.4.0
    Log Directory Writable: ✔
    WP Version: 5.9.3
    WP Multisite: –
    WP Memory Limit: 256 MB
    WP Debug Mode: –
    WP Cron: ✔
    Language: de_DE
    External object cache: –
    
    ### Server Environment ###
    
    Server Info: Apache
    PHP Version: 7.4.28
    PHP Post Max Size: 200 MB
    PHP Time Limit: 30
    PHP Max Input Vars: 3000
    cURL Version: 7.68.0
    OpenSSL/1.1.1f
    
    SUHOSIN Installed: –
    MySQL Version: 5.5.5-10.5.15-MariaDB-1:10.5.15+maria~focal-log
    Max Upload Size: 200 MB
    Default Timezone is UTC: ✔
    fsockopen/cURL: ✔
    SoapClient: ✔
    DOMDocument: ✔
    GZip: ✔
    Multibyte String: ✔
    Remote Post: ✔
    Remote Get: ✔
    
    ### Database ###
    
    WC Database Version: 6.5.1
    WC Database Prefix: wp_
    Datenbank-Gesamtgröße: 235.14MB
    Datenbank-Datengröße: 221.74MB
    Datenbank-Indexgröße: 13.40MB
    wp_woocommerce_sessions: Daten: 0.05MB + Index: 0.02MB + Engine InnoDB
    wp_woocommerce_api_keys: Daten: 0.02MB + Index: 0.03MB + Engine InnoDB
    wp_woocommerce_attribute_taxonomies: Daten: 0.02MB + Index: 0.02MB + Engine InnoDB
    wp_woocommerce_downloadable_product_permissions: Daten: 0.02MB + Index: 0.06MB + Engine InnoDB
    wp_woocommerce_order_items: Daten: 0.02MB + Index: 0.02MB + Engine InnoDB
    wp_woocommerce_order_itemmeta: Daten: 0.06MB + Index: 0.03MB + Engine InnoDB
    wp_woocommerce_tax_rates: Daten: 0.02MB + Index: 0.06MB + Engine InnoDB
    wp_woocommerce_tax_rate_locations: Daten: 0.02MB + Index: 0.03MB + Engine InnoDB
    wp_woocommerce_shipping_zones: Daten: 0.02MB + Index: 0.00MB + Engine InnoDB
    wp_woocommerce_shipping_zone_locations: Daten: 0.02MB + Index: 0.03MB + Engine InnoDB
    wp_woocommerce_shipping_zone_methods: Daten: 0.02MB + Index: 0.00MB + Engine InnoDB
    wp_woocommerce_payment_tokens: Daten: 0.02MB + Index: 0.02MB + Engine InnoDB
    wp_woocommerce_payment_tokenmeta: Daten: 0.02MB + Index: 0.03MB + Engine InnoDB
    wp_woocommerce_log: Daten: 0.02MB + Index: 0.02MB + Engine InnoDB
    wp_actionscheduler_actions: Daten: 1.02MB + Index: 0.64MB + Engine InnoDB
    wp_actionscheduler_claims: Daten: 0.02MB + Index: 0.02MB + Engine InnoDB
    wp_actionscheduler_groups: Daten: 0.02MB + Index: 0.02MB + Engine InnoDB
    wp_actionscheduler_logs: Daten: 1.02MB + Index: 0.31MB + Engine InnoDB
    wp_commentmeta: Daten: 0.02MB + Index: 0.03MB + Engine InnoDB
    wp_comments: Daten: 0.02MB + Index: 0.09MB + Engine InnoDB
    wp_e_events: Daten: 0.02MB + Index: 0.02MB + Engine InnoDB
    wp_e_notes: Daten: 0.02MB + Index: 0.17MB + Engine InnoDB
    wp_e_notes_users_relations: Daten: 0.02MB + Index: 0.05MB + Engine InnoDB
    wp_e_submissions: Daten: 0.03MB + Index: 0.27MB + Engine InnoDB
    wp_e_submissions_actions_log: Daten: 0.02MB + Index: 0.11MB + Engine InnoDB
    wp_e_submissions_values: Daten: 0.02MB + Index: 0.03MB + Engine InnoDB
    wp_gla_budget_recommendations: Daten: 0.22MB + Index: 0.14MB + Engine InnoDB
    wp_gla_merchant_issues: Daten: 0.02MB + Index: 0.02MB + Engine InnoDB
    wp_gla_shipping_rates: Daten: 0.02MB + Index: 0.05MB + Engine InnoDB
    wp_gla_shipping_times: Daten: 0.02MB + Index: 0.02MB + Engine InnoDB
    wp_links: Daten: 0.02MB + Index: 0.02MB + Engine InnoDB
    wp_mailchimp_carts: Daten: 0.02MB + Index: 0.00MB + Engine InnoDB
    wp_mailchimp_jobs: Daten: 0.02MB + Index: 0.00MB + Engine InnoDB
    wp_mailpoet_custom_fields: Daten: 0.02MB + Index: 0.02MB + Engine InnoDB
    wp_mailpoet_dynamic_segment_filters: Daten: 0.02MB + Index: 0.02MB + Engine InnoDB
    wp_mailpoet_feature_flags: Daten: 0.02MB + Index: 0.02MB + Engine InnoDB
    wp_mailpoet_forms: Daten: 0.02MB + Index: 0.00MB + Engine InnoDB
    wp_mailpoet_log: Daten: 0.02MB + Index: 0.00MB + Engine InnoDB
    wp_mailpoet_mapping_to_external_entities: Daten: 0.02MB + Index: 0.02MB + Engine InnoDB
    wp_mailpoet_newsletters: Daten: 0.02MB + Index: 0.03MB + Engine InnoDB
    wp_mailpoet_newsletter_links: Daten: 0.02MB + Index: 0.05MB + Engine InnoDB
    wp_mailpoet_newsletter_option: Daten: 0.02MB + Index: 0.02MB + Engine InnoDB
    wp_mailpoet_newsletter_option_fields: Daten: 0.02MB + Index: 0.02MB + Engine InnoDB
    wp_mailpoet_newsletter_posts: Daten: 0.02MB + Index: 0.02MB + Engine InnoDB
    wp_mailpoet_newsletter_segment: Daten: 0.02MB + Index: 0.02MB + Engine InnoDB
    wp_mailpoet_newsletter_templates: Daten: 2.52MB + Index: 0.00MB + Engine InnoDB
    wp_mailpoet_scheduled_tasks: Daten: 0.02MB + Index: 0.03MB + Engine InnoDB
    wp_mailpoet_scheduled_task_subscribers: Daten: 0.02MB + Index: 0.02MB + Engine InnoDB
    wp_mailpoet_segments: Daten: 0.02MB + Index: 0.03MB + Engine InnoDB
    wp_mailpoet_sending_queues: Daten: 0.02MB + Index: 0.03MB + Engine InnoDB
    wp_mailpoet_settings: Daten: 0.02MB + Index: 0.02MB + Engine InnoDB
    wp_mailpoet_statistics_clicks: Daten: 0.02MB + Index: 0.06MB + Engine InnoDB
    wp_mailpoet_statistics_forms: Daten: 0.02MB + Index: 0.02MB + Engine InnoDB
    wp_mailpoet_statistics_newsletters: Daten: 0.02MB + Index: 0.03MB + Engine InnoDB
    wp_mailpoet_statistics_opens: Daten: 0.02MB + Index: 0.09MB + Engine InnoDB
    wp_mailpoet_statistics_unsubscribes: Daten: 0.02MB + Index: 0.05MB + Engine InnoDB
    wp_mailpoet_statistics_woocommerce_purchases: Daten: 0.02MB + Index: 0.06MB + Engine InnoDB
    wp_mailpoet_stats_notifications: Daten: 0.02MB + Index: 0.03MB + Engine InnoDB
    wp_mailpoet_subscribers: Daten: 0.02MB + Index: 0.13MB + Engine InnoDB
    wp_mailpoet_subscriber_custom_field: Daten: 0.02MB + Index: 0.02MB + Engine InnoDB
    wp_mailpoet_subscriber_ips: Daten: 0.02MB + Index: 0.02MB + Engine InnoDB
    wp_mailpoet_subscriber_segment: Daten: 0.02MB + Index: 0.03MB + Engine InnoDB
    wp_mailpoet_user_agents: Daten: 0.02MB + Index: 0.02MB + Engine InnoDB
    wp_mailpoet_user_flags: Daten: 0.02MB + Index: 0.02MB + Engine InnoDB
    wp_options: Daten: 8.05MB + Index: 0.22MB + Engine InnoDB
    wp_postmeta: Daten: 121.08MB + Index: 5.56MB + Engine InnoDB
    wp_posts: Daten: 80.05MB + Index: 1.02MB + Engine InnoDB
    wp_revslider_css: Daten: 0.13MB + Index: 0.02MB + Engine InnoDB
    wp_revslider_css_bkp: Daten: 0.02MB + Index: 0.02MB + Engine InnoDB
    wp_revslider_layer_animations: Daten: 0.02MB + Index: 0.00MB + Engine InnoDB
    wp_revslider_layer_animations_bkp: Daten: 0.02MB + Index: 0.00MB + Engine InnoDB
    wp_revslider_navigations: Daten: 0.02MB + Index: 0.00MB + Engine InnoDB
    wp_revslider_navigations_bkp: Daten: 0.02MB + Index: 0.00MB + Engine InnoDB
    wp_revslider_sliders: Daten: 0.19MB + Index: 0.02MB + Engine InnoDB
    wp_revslider_sliders_bkp: Daten: 0.02MB + Index: 0.02MB + Engine InnoDB
    wp_revslider_slides: Daten: 1.02MB + Index: 0.02MB + Engine InnoDB
    wp_revslider_slides_bkp: Daten: 0.02MB + Index: 0.02MB + Engine InnoDB
    wp_revslider_static_slides: Daten: 0.02MB + Index: 0.02MB + Engine InnoDB
    wp_revslider_static_slides_bkp: Daten: 0.02MB + Index: 0.02MB + Engine InnoDB
    wp_storeabill_documentmeta: Daten: 0.06MB + Index: 0.03MB + Engine InnoDB
    wp_storeabill_documents: Daten: 0.02MB + Index: 0.06MB + Engine InnoDB
    wp_storeabill_document_itemmeta: Daten: 0.06MB + Index: 0.06MB + Engine InnoDB
    wp_storeabill_document_items: Daten: 0.02MB + Index: 0.05MB + Engine InnoDB
    wp_storeabill_document_noticemeta: Daten: 0.02MB + Index: 0.03MB + Engine InnoDB
    wp_storeabill_document_notices: Daten: 0.02MB + Index: 0.02MB + Engine InnoDB
    wp_storeabill_journals: Daten: 0.02MB + Index: 0.02MB + Engine InnoDB
    wp_termmeta: Daten: 0.02MB + Index: 0.03MB + Engine InnoDB
    wp_terms: Daten: 0.02MB + Index: 0.03MB + Engine InnoDB
    wp_term_relationships: Daten: 0.06MB + Index: 0.02MB + Engine InnoDB
    wp_term_taxonomy: Daten: 0.02MB + Index: 0.03MB + Engine InnoDB
    wp_trp_dictionary_de_de_en_gb: Daten: 0.13MB + Index: 0.11MB + Engine InnoDB
    wp_trp_gettext_de_de: Daten: 1.52MB + Index: 0.56MB + Engine InnoDB
    wp_trp_gettext_en_gb: Daten: 0.39MB + Index: 0.48MB + Engine InnoDB
    wp_trp_original_meta: Daten: 0.02MB + Index: 0.05MB + Engine InnoDB
    wp_trp_original_strings: Daten: 0.09MB + Index: 0.06MB + Engine InnoDB
    wp_usermeta: Daten: 0.09MB + Index: 0.03MB + Engine InnoDB
    wp_users: Daten: 0.02MB + Index: 0.05MB + Engine InnoDB
    wp_wc_admin_notes: Daten: 0.06MB + Index: 0.00MB + Engine InnoDB
    wp_wc_admin_note_actions: Daten: 0.02MB + Index: 0.02MB + Engine InnoDB
    wp_wc_category_lookup: Daten: 0.02MB + Index: 0.00MB + Engine InnoDB
    wp_wc_customer_lookup: Daten: 0.02MB + Index: 0.03MB + Engine InnoDB
    wp_wc_download_log: Daten: 0.02MB + Index: 0.03MB + Engine InnoDB
    wp_wc_order_coupon_lookup: Daten: 0.02MB + Index: 0.03MB + Engine InnoDB
    wp_wc_order_product_lookup: Daten: 0.02MB + Index: 0.06MB + Engine InnoDB
    wp_wc_order_stats: Daten: 0.02MB + Index: 0.05MB + Engine InnoDB
    wp_wc_order_tax_lookup: Daten: 0.02MB + Index: 0.03MB + Engine InnoDB
    wp_wc_product_attributes_lookup: Daten: 0.02MB + Index: 0.02MB + Engine InnoDB
    wp_wc_product_download_directories: Daten: 0.02MB + Index: 0.02MB + Engine InnoDB
    wp_wc_product_meta_lookup: Daten: 0.06MB + Index: 0.09MB + Engine InnoDB
    wp_wc_rate_limits: Daten: 0.02MB + Index: 0.02MB + Engine InnoDB
    wp_wc_reserved_stock: Daten: 0.02MB + Index: 0.00MB + Engine InnoDB
    wp_wc_tax_rate_classes: Daten: 0.02MB + Index: 0.02MB + Engine InnoDB
    wp_wc_webhooks: Daten: 0.02MB + Index: 0.02MB + Engine InnoDB
    wp_woocommerce_gzd_dhl_im_products: Daten: 0.02MB + Index: 0.03MB + Engine InnoDB
    wp_woocommerce_gzd_dhl_im_product_services: Daten: 0.02MB + Index: 0.03MB + Engine InnoDB
    wp_woocommerce_gzd_packaging: Daten: 0.02MB + Index: 0.00MB + Engine InnoDB
    wp_woocommerce_gzd_packagingmeta: Daten: 0.02MB + Index: 0.03MB + Engine InnoDB
    wp_woocommerce_gzd_shipmentmeta: Daten: 0.02MB + Index: 0.03MB + Engine InnoDB
    wp_woocommerce_gzd_shipments: Daten: 0.02MB + Index: 0.05MB + Engine InnoDB
    wp_woocommerce_gzd_shipment_itemmeta: Daten: 0.02MB + Index: 0.03MB + Engine InnoDB
    wp_woocommerce_gzd_shipment_items: Daten: 0.02MB + Index: 0.06MB + Engine InnoDB
    wp_woocommerce_gzd_shipment_labelmeta: Daten: 0.02MB + Index: 0.03MB + Engine InnoDB
    wp_woocommerce_gzd_shipment_labels: Daten: 0.02MB + Index: 0.03MB + Engine InnoDB
    wp_woocommerce_gzd_shipping_provider: Daten: 0.02MB + Index: 0.00MB + Engine InnoDB
    wp_woocommerce_gzd_shipping_providermeta: Daten: 0.02MB + Index: 0.03MB + Engine InnoDB
    wp_yith_wcwl: Daten: 0.02MB + Index: 0.02MB + Engine InnoDB
    wp_yith_wcwl_lists: Daten: 0.02MB + Index: 0.03MB + Engine InnoDB
    wp_yoast_indexable: Daten: 1.52MB + Index: 0.42MB + Engine InnoDB
    wp_yoast_indexable_hierarchy: Daten: 0.05MB + Index: 0.05MB + Engine InnoDB
    wp_yoast_migrations: Daten: 0.02MB + Index: 0.02MB + Engine InnoDB
    wp_yoast_primary_term: Daten: 0.02MB + Index: 0.03MB + Engine InnoDB
    wp_yoast_seo_links: Daten: 0.09MB + Index: 0.03MB + Engine InnoDB
    
    ### Post Type Counts ###
    
    attachment: 588
    custom_css: 1
    custom-css-js: 2
    customize_changeset: 4
    document_template: 5
    elementor_font: 1
    elementor_library: 73
    language_switcher: 4
    mailpoet_page: 1
    nav_menu_item: 73
    oembed_cache: 1
    page: 41
    post: 2
    product: 56
    product_variation: 262
    revision: 5491
    shop_coupon: 3
    shop_order: 6
    ts_footer_block: 1
    ts_mega_menu: 1
    woovouchercodes: 1
    woovouchers: 2
    wp_global_styles: 1
    wpcf7_contact_form: 1
    
    ### Security ###
    
    Secure connection (HTTPS): ✔
    Hide errors from visitors: ✔
    
    ### Active Plugins (24) ###
    
    Template Library and Redux Framework: von Extendify – 4.3.13
    Beautiful and responsive cookie consent: von Beautiful Cookie Banner – 2.8.1
    Contact Form 7: von Takayuki Miyoshi – 5.5.6
    Elementor Pro: von Elementor.com – 3.7.1
    Elementor: von Elementor.com – 3.6.5
    Essential Addons for Elementor: von WPDeveloper – 5.1.2
    Facebook for WooCommerce: von Facebook – 2.6.13
    Jetpack: von Automattic – 10.9
    Loco Translate: von Tim Whitlock – 2.6.1
    Slider Revolution: von ThemePunch – 6.5.3
    ThemeSky: von ThemeSky Team – 1.0.1
    UpdraftPlus – Sichern/Wiederherstellen: von UpdraftPlus.Com
    DavidAnderson – 1.22.12
    
    Benutzer-Menüs: von Code Atlantic – 1.2.9
    Vendidero Helper: von Vendidero – 2.1.4
    WooCommerce Blocks: von Automattic – 7.6.0
    Additional Variation Images Gallery for WooCommerce - Pro: von Emran Ahmed – 1.3.1
    Additional Variation Images Gallery for WooCommerce: von Emran Ahmed – 1.3.1
    Germanized für WooCommerce Pro: von vendidero – 3.5.3
    Germanized für WooCommerce: von vendidero – 3.9.2
    WooCommerce-Zahlungen: von Automattic – 4.1.0
    WooCommerce - PDF Vouchers: von WPWeb – 4.3.10
    WooCommerce Shipping & Tax: von WooCommerce – 1.25.28
    WooCommerce: von Automattic – 6.5.1
    Yoast SEO: von Team Yoast – 18.9
    
    ### Inactive Plugins (10) ###
    
    Akismet Anti-Spam: von Automattic – 4.2.3
    Google Listings and Ads: von WooCommerce – 1.12.8
    Mailchimp for WooCommerce: von Mailchimp – 2.6.2
    MailPoet 3 (New): von MailPoet – 3.89.1
    Maintenance: von WebFactory Ltd – 4.06
    MC4WP: Mailchimp for WordPress: von ibericode – 4.8.7
    TranslatePress - Multilingual: von Cozmoslabs
    Razvan Mocanu
    Madalin Ungureanu
    Cristophor Hurduban – 2.2.7
    
    WooLentor - WooCommerce Elementor Addons + Builder: von HasThemes – 2.2.8
    YITH WooCommerce Compare: von YITH – 2.14.0
    YITH WooCommerce Wishlist: von YITH – 3.9.0
    
    ### Settings ###
    
    API Enabled: –
    Force SSL: –
    Currency: EUR (€)
    Currency Position: left
    Thousand Separator: .
    Decimal Separator: ,
    Number of Decimals: 2
    Taxonomies: Product Types: external (external)
    grouped (grouped)
    simple (simple)
    variable (variable)
    
    Taxonomies: Product Visibility: exclude-from-catalog (exclude-from-catalog)
    exclude-from-search (exclude-from-search)
    featured (featured)
    outofstock (outofstock)
    rated-1 (rated-1)
    rated-2 (rated-2)
    rated-3 (rated-3)
    rated-4 (rated-4)
    rated-5 (rated-5)
    
    Connected to WooCommerce.com: –
    Enforce Approved Product Download Directories: –
    
    ### WC Pages ###
    
    Shop-Basis: #1001 - /shop/
    Warenkorb: #1002 - /cart/
    Kasse: ❌ Die Seite enthält nicht den [woocommerce_checkout]-Shortcode oder woocommerce/checkout-Block.
    Mein Konto: #1004 - /my-account/
    Allgemeine Geschäftsbedingungen: #12 - /agb/
    
    ### Theme ###
    
    Name: Yobazar
    Version: 1.0.3
    Author URL: https://theme-sky.com/
    Child Theme: ❌ – Wenn du WooCommerce mit einem Theme
    das du nicht selbst entwickelt hast
    an eigene Bedürfnisse anpasst
    dann empfehlen wir die Verwendung eines Child-Themes. Siehe Wie du ein Child-Theme erstellst (engl.)
    
    WooCommerce Support: ✔
    
    ### Templates ###
    
    Overrides: yobazar/woocommerce/archive-product.php
    yobazar/woocommerce/cart/cart.php
    yobazar/woocommerce/checkout/form-checkout.php
    yobazar/woocommerce/checkout/review-order.php
    yobazar/woocommerce/content-product-cat.php
    yobazar/woocommerce/content-product.php
    yobazar/woocommerce/content-widget-product.php
    yobazar/woocommerce/emails/customer-processing-order.php
    yobazar/woocommerce/loop/add-to-cart.php
    yobazar/woocommerce/loop/loop-end.php
    yobazar/woocommerce/loop/loop-start.php
    yobazar/woocommerce/loop/orderby.php
    yobazar/woocommerce/loop/rating.php
    /www/htdocs/w01bf691/stylemate.de/wp-content/plugins/woo-variation-gallery/templates/product-images.php
    /www/htdocs/w01bf691/stylemate.de/wp-content/plugins/woo-variation-gallery/templates/product-thumbnails.php
    yobazar/woocommerce/single-product/rating.php
    yobazar/woocommerce/single-product/tabs/description.php
    yobazar/woocommerce/single-product-reviews.php
    yobazar/woocommerce/single-product.php
    
    ### WooCommerce Payments ###
    
    Version: 4.1.0
    Connected to WPCOM: Ja
    Blog ID: 196438842
    Account ID: acct_1Jr1kR2E6cu0sksU
    
    ### Action Scheduler ###
    
    Abgeschlossen: 1.594
    Oldest: 2022-04-17 01:04:52 +0200
    Newest: 2022-05-17 23:59:29 +0200
    
    Ausstehend: 6
    Oldest: 2022-05-18 00:48:46 +0200
    Newest: 2022-05-18 23:24:39 +0200
    
    ### Status report information ###
    
    Generated at: 2022-05-18 00:13:33 +02:00
    

    Über Unterstützung würde ich mich sehr freuen, werde echt Wahnsinnig.

    Die Seite, für die ich Hilfe brauche: [Anmelden, um den Link zu sehen]

Ansicht von 3 Antworten - 1 bis 3 (von insgesamt 3)
  • Thread-Starter bronnabutz

    (@bronnabutz)

    Hallo zusammen,

    inzwischen habe ich:
    – ein anderes Template aktiviert und das Problem besteht weiter
    – die Notice „Warenkorb aktualisiert.“ per Script in der Functions.php deaktiviert aber die Notize scheint nicht den Fehler zu verursachen, Problem besteht weiter
    – auf PHP 8.0 umgestellt aber das Problem besteht weiter

    Hier noch meine cart.php, vielleicht ist hier der Fehlerverursacher versteckt?

    <?php
    /**
     * Cart Page
     *
     * This template can be overridden by copying it to yourtheme/woocommerce/cart/cart.php.
     *
     * HOWEVER, on occasion WooCommerce will need to update template files and you
     * (the theme developer) will need to copy the new files to your theme to
     * maintain compatibility. We try to do this as little as possible, but it does
     * happen. When this occurs the version of the template file will be bumped and
     * the readme will list any important changes.
     *
     * @see     https://docs.woocommerce.com/document/template-structure/
     * @package WooCommerce\Templates
     * @version 3.8.0
     */
    
    defined( 'ABSPATH' ) || exit;
    
    do_action( 'woocommerce_before_cart' ); ?>
    
    <form class="woocommerce-cart-form" action="<?php echo esc_url( wc_get_cart_url() ); ?>" method="post">
    	<?php do_action( 'woocommerce_before_cart_table' ); ?>
    
    	<table class="shop_table shop_table_responsive cart woocommerce-cart-form__contents" cellspacing="0">
    		<thead>
    			<tr>
    				<th class="product-remove">&nbsp;</th>
    				<th class="product-thumbnail">&nbsp;</th>
    				<th class="product-name"><?php esc_html_e( 'Product', 'woocommerce' ); ?></th>
    				<th class="product-price"><?php esc_html_e( 'Price', 'woocommerce' ); ?></th>
    				<th class="product-quantity"><?php esc_html_e( 'Quantity', 'woocommerce' ); ?></th>
    				<th class="product-tax"><?php esc_html_e( 'Tax', 'woocommerce' ); ?></th>
    				<th class="product-subtotal"><?php esc_html_e( 'Subtotal', 'woocommerce' ); ?></th>
    			</tr>
    		</thead>
    		<tbody>
    			<?php do_action( 'woocommerce_before_cart_contents' ); ?>
    
    			<?php
    			foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {
    				$_product   = apply_filters( 'woocommerce_cart_item_product', $cart_item['data'], $cart_item, $cart_item_key );
    				$product_id = apply_filters( 'woocommerce_cart_item_product_id', $cart_item['product_id'], $cart_item, $cart_item_key );
    
    				if ( $_product && $_product->exists() && $cart_item['quantity'] > 0 && apply_filters( 'woocommerce_cart_item_visible', true, $cart_item, $cart_item_key ) ) {
    					$product_permalink = apply_filters( 'woocommerce_cart_item_permalink', $_product->is_visible() ? $_product->get_permalink( $cart_item ) : '', $cart_item, $cart_item_key );
    					?>
    					<tr class="woocommerce-cart-form__cart-item <?php echo esc_attr( apply_filters( 'woocommerce_cart_item_class', 'cart_item', $cart_item, $cart_item_key ) ); ?>">
    
    						<td class="product-remove">
    							<?php
    								echo apply_filters( // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
    									'woocommerce_cart_item_remove_link',
    									sprintf(
    										'<a href="%s" class="remove" aria-label="%s" data-product_id="%s" data-product_sku="%s">&times;</a>',
    										esc_url( wc_get_cart_remove_url( $cart_item_key ) ),
    										esc_html__( 'Remove this item', 'woocommerce' ),
    										esc_attr( $product_id ),
    										esc_attr( $_product->get_sku() )
    									),
    									$cart_item_key
    								);
    							?>
    						</td>
    
    						<td class="product-thumbnail">
    						<?php
    						$thumbnail = apply_filters( 'woocommerce_cart_item_thumbnail', $_product->get_image(), $cart_item, $cart_item_key );
    
    						if ( ! $product_permalink ) {
    							echo $thumbnail; // PHPCS: XSS ok.
    						} else {
    							printf( '<a href="%s">%s</a>', esc_url( $product_permalink ), $thumbnail ); // PHPCS: XSS ok.
    						}
    						?>
    						</td>
    
    						<td class="product-name" data-title="<?php esc_attr_e( 'Product', 'woocommerce' ); ?>">
    						<?php
    						if ( ! $product_permalink ) {
    							echo wp_kses_post( apply_filters( 'woocommerce_cart_item_name', $_product->get_name(), $cart_item, $cart_item_key ) . '&nbsp;' );
    						} else {
    							echo wp_kses_post( apply_filters( 'woocommerce_cart_item_name', sprintf( '<a href="%s">%s</a>', esc_url( $product_permalink ), $_product->get_name() ), $cart_item, $cart_item_key ) );
    						}
    
    						do_action( 'woocommerce_after_cart_item_name', $cart_item, $cart_item_key );
    
    						// Meta data.
    						echo wc_get_formatted_cart_item_data( $cart_item ); // PHPCS: XSS ok.
    
    						// Backorder notification.
    						if ( $_product->backorders_require_notification() && $_product->is_on_backorder( $cart_item['quantity'] ) ) {
    							echo wp_kses_post( apply_filters( 'woocommerce_cart_item_backorder_notification', '<p class="backorder_notification">' . esc_html__( 'Available on backorder', 'woocommerce' ) . '</p>', $product_id ) );
    						}
    						?>
    						</td>
    
    						<td class="product-price" data-title="<?php esc_attr_e( 'Price', 'woocommerce' ); ?>">
    							<?php
    								echo apply_filters( 'woocommerce_cart_item_price', WC()->cart->get_product_price( $_product ), $cart_item, $cart_item_key ); // PHPCS: XSS ok.
    							?>
    						</td>
    
    						<td class="product-quantity" data-title="<?php esc_attr_e( 'Quantity', 'woocommerce' ); ?>">
    						<?php
    						if ( $_product->is_sold_individually() ) {
    							$product_quantity = sprintf( '1 <input type="hidden" name="cart[%s][qty]" value="1" />', $cart_item_key );
    						} else {
    							$product_quantity = woocommerce_quantity_input(
    								array(
    									'input_name'   => "cart[{$cart_item_key}][qty]",
    									'input_value'  => $cart_item['quantity'],
    									'max_value'    => $_product->get_max_purchase_quantity(),
    									'min_value'    => '0',
    									'product_name' => $_product->get_name(),
    								),
    								$_product,
    								false
    							);
    						}
    
    						echo apply_filters( 'woocommerce_cart_item_quantity', $product_quantity, $cart_item_key, $cart_item ); // PHPCS: XSS ok.
    						?>
    						</td>
    						
    	<td class="product-tax" data-title="<?php esc_attr_e( 'Tax', 'woocommerce' ); ?>">
    							<?php
    							$tax_html           = '';
    
    							if ( $_product->is_taxable() ) {
    								$tax_rates = WC_Tax::get_rates( $_product->get_tax_class() );
    								if ( ! empty( $tax_rates ) ) {
    									$tax_rate = reset( $tax_rates );
    									$tax_html = '<br><small>enthaltene MwSt.: ' . $tax_rate['rate'] . ' %</small> ';
    								}
    								$price_excl = wc_get_price_excluding_tax( $_product ); // price without VAT.
    								$price_incl = wc_get_price_including_tax( $_product );  // price included VAT.
    								$tax_amount = ( $price_incl - $price_excl ) * $cart_item['quantity']; // VAT price amount.
    
    								echo wc_price( $tax_amount ) . $tax_html; // PHPCS: XSS ok.
    							}
    
    							?>
    						</td>
    
    						<td class="product-subtotal" data-title="<?php esc_attr_e( 'Subtotal', 'woocommerce' ); ?>">
    							<?php
    								echo apply_filters( 'woocommerce_cart_item_subtotal', WC()->cart->get_product_subtotal( $_product, $cart_item['quantity'] ), $cart_item, $cart_item_key ); // PHPCS: XSS ok.
    							?>
    						</td>
    					</tr>
    					<?php
    				}
    			}
    			?>
    
    			<?php do_action( 'woocommerce_cart_contents' ); ?>
    
    			<tr>
    				<td colspan="6" class="actions">
    
    					<?php if ( wc_coupons_enabled() ) { ?>
    						<div class="coupon">
    							<label for="coupon_code"><?php esc_html_e( 'Coupon:', 'woocommerce' ); ?></label> <input type="text" name="coupon_code" class="input-text" id="coupon_code" value="" placeholder="<?php esc_attr_e( 'Coupon code', 'woocommerce' ); ?>" /> <button type="submit" class="button" name="apply_coupon" value="<?php esc_attr_e( 'Apply coupon', 'woocommerce' ); ?>"><?php esc_attr_e( 'Apply coupon', 'woocommerce' ); ?></button>
    							<?php do_action( 'woocommerce_cart_coupon' ); ?>
    						</div>
    					<?php } ?>
    
    					<button type="submit" class="button" name="update_cart" value="<?php esc_attr_e( 'Update cart', 'woocommerce' ); ?>"><?php esc_html_e( 'Update cart', 'woocommerce' ); ?></button>
    
    					<?php do_action( 'woocommerce_cart_actions' ); ?>
    
    					<?php wp_nonce_field( 'woocommerce-cart', 'woocommerce-cart-nonce' ); ?>
    				</td>
    			</tr>
    
    			<?php do_action( 'woocommerce_after_cart_contents' ); ?>
    		</tbody>
    	</table>
    	<?php do_action( 'woocommerce_after_cart_table' ); ?>
    </form>
    
    <?php do_action( 'woocommerce_before_cart_collaterals' ); ?>
    
    <div class="cart-collaterals">
    	<?php
    		/**
    		 * Cart collaterals hook.
    		 *
    		 * @hooked woocommerce_cross_sell_display
    		 * @hooked woocommerce_cart_totals - 10
    		 */
    		do_action( 'woocommerce_cart_collaterals' );
    	?>
    </div>
    
    <?php do_action( 'woocommerce_after_cart' ); ?>
    
    Thread-Starter bronnabutz

    (@bronnabutz)

    Inzwischen hatte ich mit Elementor direkt kontakt da ich gemerkt habe, dass es an Elementor lag. Ich hatte in Elementor ein Popup angelegt in dem ich den Warenkorb platziert habe. Die Seite war nicht verlinkt, daher im Frontend nicht sichtbar. Trotzdem hatte es Einfluss auf die Aktualisierung des Warenkorbs und hat zur doppelten Ausgabe der Elemente geführt. Vielleicht nützt diese Info irgendwann jemandem.

    Problem scheint also behoben zu sein?
    Dann markiere ich den Thread als „gelöst“.

Ansicht von 3 Antworten - 1 bis 3 (von insgesamt 3)
  • Das Thema „Doppelte Ausgabe beim Warenkorb wenn Anzahl Artikel geändert wird“ ist für neue Antworten geschlossen.