• Gelöst ilovemygarden

    (@ilovemygarden)


    Hallo,

    ich habe ein Problem mit meinem Astra-Theme. Ich habe einige Shop-Kategorien mit Unterkategorien (z. B. Produktart als Überbegriff -> verschiedene Produkttypen, siehe Link), die mehrere verfügbare Produkte enthalten.

    Problem: Auf der Shop-Übersichtsseite sieht der Kunde, wie viele Unterkategorien sich innerhalb der einzelnen Shop-Kategorien befinden. Was er sehen sollte, sind jedoch die Gesamt-Lagerbestände der Unterkategorien. Aktuell sieht er demnach z. B. „4 Produkte“ (= Anzahl der Unterkategorien/Produkttypen) und nicht die tatsächliche Anzahl der lieferbaren Produkte, zusammengerechnet aus allen Unterkategorien, Produkten und Varianten. Er könnte also denken, es gäbe kaum verfügbare Produkte.

    Meine Frage daher:
    – Wie kann ich „4 Produkte“ entweder als Text entfernen, damit der Kunde nicht irritiert ist, oder aber die Anzahl der lieferbaren Produkte anzeigen lassen?

    Darüber hinaus habe ich ein zweites, aber nicht so wichtiges Problem:
    Klicke ich ein Produkt an, erscheint zuerst ein grauer Balken („Schon ab … mit Klarna“), der lange zum Laden braucht. Wie kann ich diesen entfernen? In den Zahlungseinstellungen habe ich nichts gefunden, auch das Internet hat mir bisher nicht geholfen. Optisch ist das Ding eher störend, wenn die Seite mal länger zum Laden braucht. – Link: https://thecosyhut.de/produkt/leseknochen-buchstuetze-nackenkissen/

    Danke vorab für eure Hilfe!

    • Dieses Thema wurde vor 2 Wochen, 5 Tagen von ilovemygarden geändert.
    • Dieses Thema wurde vor 2 Wochen, 5 Tagen von ilovemygarden geändert.

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

Ansicht von 4 Antworten – 1 bis 4 (von insgesamt 4)
  • Moderator La Geek

    (@la-geek)

    Problem 1:
    Man könnte die Zeile mit CSS verstecken. Im Quelltext ist sie dennoch vorhanden aber Besucher sehen sie nicht mehr.

    .woocommerce-page ul.products li.product .woocommerce-loop-category__title .count {
        display: none;
    }

    CSS-Code kann man
    1.) Wenn kein Child-Theme vorhanden ist
    im WordPress-Backend >> Design >> Customizer >> zusätzliches CSS (ganz ans Ende in einer neuen Zeile) einfügen.

    Abgekürzter Weg -> (dein-domainname.de/wp-admin/customize.php), also:

    /wp-admin/customize.php an deine Domain anhängen >>, aufrufen und dann auf zusätzliches CSS klicken, das funktioniert auch (noch?), wenn du unter dem Menüpunkt Design kein „Customizer“ mehr findest.

    2.) Wenn du ein Child-Theme verwendest,
    dann trage stattdessen den CSS-Code in die Datei style.css ganz ans Ende in einer neuen Zeile ein.

    Nach dem Abspeichern musst du den Browsercache leeren, drücke dafür CTRL (STRG) + SHIFT + Entf gleichzeitig, dadurch wird in den gängigen Browsern ein Fenster zum Löschen geöffnet (weitere Hilfe dazu). Auf einem Smartphone musst du natürlich den Browser-Cache anders entfernen.

    Solltest du ein Cache-Plugin installiert haben, leere auch diesen Cache. Nun teste auf der Seite, ob du eine Änderung siehst.

    Problem 2:
    Wenn ich das richtig sehe, kommt das von Stripe.

    Moderator threadi

    (@threadi)

    Zu Punkt 1: Alternativ zum CSS kannst du auch diesen Hook verwenden:

    add_filter( 'woocommerce_subcategory_count_html', '__return_false', PHP_INT_MAX );

    Hintergrund: Astra gibt bei der von dir gewählten Ansicht generell die Anzahl der Produkte aus. Dazu nutzt es einen WooCommerce-eigenen Hook. WooCommerce wiederum dokumentiert das hier: https://woocommerce.com/document/hide-sub-category-product-count-in-product-archives/

    Wenn du hier jedoch die Anzahl der lieferbaren Produkte haben willst, müsstest du o.g. Hook ebenfalls verwenden, aber a) eine Abfrage der lieferbaren Produkte in der jeweiligen Kategorie implementieren und b) eine eigene Ausgabe davon erzeugen. Gerade a) finde ich aus Performance-Sicht eher nachteilig, da beim Laden der Seite pro Kategorie diese Abfrage ausgeführt werden würde. Dennoch hier mal ein Script dazu:

    add_filter( 'woocommerce_subcategory_count_html', function( $content, $category ) {
    $products = new WP_Query(
    array(
    'post_type' => 'product',
    'post_status' => 'publish',
    'posts_per_page' => -1,
    'tax_query' => array(
    array(
    'taxonomy' => 'product_cat',
    'field' => 'slug',
    'terms' => $category,
    ),
    ),
    'meta_query' => array(
    array(
    'key' => '_stock_status',
    'value' => 'instock',
    ),
    ),
    ),
    );

    // none product.
    if( 0 === $products->found_posts ) {
    return '';
    }

    // singular.
    if( 1 === $products->found_posts ) {
    return '<mark class="count">' . $products->found_posts . ' Produkt</mark>';
    }

    // plural.
    return '<mark class="count">' . $products->found_posts . ' Produkte</mark>';
    }, 10, 2 );

    Einfügen müsstest du die Code in einem Child-Theme (was ich bei dir aktuell nicht sehe) oder per Code Snippet Plugin. Leere danach noch den Cache von deinem Plugin WP Optimize, siehe: https://wperfolg.de/wordpress/wordpress-cache-leeren/#cache-plugins (Abschnitt „WP Optimize“ weiter unten).

    Zu Punkt 2: das kommt vom Plugin „WooCommerce Payments“. Soweit ich weiß, kann man das nur per CSS ausblenden:

    #payment-method-message {
    display: none;
    }

    Es gibt genau dazu bei dem Plugin-Supportforum auch ein englisches Topic: https://wordpress.org/support/topic/how-to-remove-the-klarna-pay-in-30-days-banner-site-notice/ – wenn du Fragen dazu hast, wende dich an deren Supportforum: https://wordpress.org/support/plugin/woocommerce-payments/

    • Diese Antwort wurde vor 2 Wochen, 5 Tagen von threadi geändert.
    Moderator La Geek

    (@la-geek)

    Zu Punkt 1: Alternativ zum CSS kannst du auch diesen Hook verwenden:

    Das ist auf jeden Fall die bessere Methode. Mit CSS verstecken ist immer nur ein Ausweg, wenn gar nichts anderes mehr geht.

    Moderator Support Moderator

    (@moderator)

    Da seit einiger Zeit keine Rückmeldung mehr vom TE (Thread-Ersteller) kam, wird der Thread aus administrativen Gründen auf gelöst gesetzt, damit die ungelösten Threads, in denen noch Hilfe benötigt wird, leichter auffindbar sind.

    Der Status „gelöst“ kann vom TE jederzeit geändert und der Thread kann mit Nachfragen oder einem Feedback ergänzt werden.

    Lösung gefunden? In einem User-helfen-User-Forum wie diesem hier ist das Posten der Lösung für andere User immer hilfreich, danke.

Ansicht von 4 Antworten – 1 bis 4 (von insgesamt 4)

Du musst angemeldet sein, um auf dieses Thema zu antworten.