Woocommerce - Variationen

  • Hallo, ich bin's mal wieder :D
    Ich komme direkt zum kleinen Problem:
    ____________________

    [size=12]Ich habe einen Artikel mit 4 Variationen.
    Ich möchte eine Regel einführen, die es erlaubt nur eine dieser 4 Variationen zu kaufen.

    [/SIZE]

    ____________________


    Bei Woocommerce selbst kann man dies nicht einstellen. Es gibt nur diese Option:

    ____________________

    Das Problem an sich:

    ____________________

    Ich hoffe mir kann jemand helfen :(

    Liebe Grüße,
    DamageHero.

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren


  • Ich hoffe mir kann jemand helfen

    Danke für das Problem :-) Das hatte ich noch nicht und wenn mich jemand gefragt hätte, hätte ich gedacht, das auch Variationen von der "sold_individually" Einstellung erfasst werden.

    Was sie tatsächlich auch tun, allerdings nur für jede einzelne Variation. Man kann also bei gesetzter Option nur eine "blaue" Variante eines T-Shirts in den Warenkorb legen und auch nur eine "rote". Sehr wohl geht aber eine "rote" und eine "blaue". Tatsächlich behandelt WooCommerce jede Variation wie einen eigenen Artikel, was programmiertechnisch richtig ist. Da man auch bei aktivierter Einzelverkaufsoption unterschiedliche Artikel in den Warenkorb legen kann, funktioniert das auch bei Variationen.

    Um das "Problem" zu lösen habe ich mir den Quellcode angesehen. Tatsächlich gibt es keine "sanfte" Methode das abzufangen, denn dort wo die Prüfung stattfindet gibt es keinen Filter und auch davor gibt es innerhalb der Funktion keine Möglichkeit alle notwendigen Variablen zu beeinflussen. In Folge bleibt nur die Nutzung eines späteren Filters mit erzwungenem Abbruch, wenn bereits eine Variation eines variablen Produkts im Warenkorb liegt.

    Folgender Code kann in der functions.php eines Childthemes verwendet werden um das Hinzufügen zum Warenkorb verschiedener Varianten des gleichen Produkts zu verhindern:

    Achtung! Der Code ist nagelneu und nur im Rahmen der Entwicklung getestet (produziert also keine PHP Fehler). Er wurde nie zuvor verwendet und ich kann keine Aussage über mögliche Nebenwirkungen treffen (wenn gleich mir derzeit auch wirklich keine einfallen). Die Verwendung erfolgt auf eigene Gefahr.

    WordPress ist "frei" wie in Freiheit es zu nutzen, aber nicht im Sinne von Freibier. Wer also glaubt man bekommt rund um WordPress alles kostenlos, der irrt. Hilfe ist ein Geschenk für das man sich bedankt, dafür gibt es den 'Gefällt mir' Button. Wer das nicht kann und sich selbst nicht zu helfen weiss, muss sich bezahlte Unterstützung suchen.

  • Ich danke dir vielmals für die Hilfe. Heute morgen ist mir ein besserer Weg eingefallen, das Problem zu lösen.

    Mit dem Code, lässt sich nur 1 Artikel in den Warenkorb legen. Falls zuvor einer drin war, wird dieser entfernt.

    PHP
    add_filter( 'woocommerce_add_cart_item_data', 'woo_custom_add_to_cart' );
    function woo_custom_add_to_cart( $cart_item_data ) {
        global $woocommerce;    $woocommerce->cart->empty_cart();
        // Do nothing with the data and return    return $cart_item_data;}

    Quelle: http://stackoverflow.com/questions/2136…t-is-already-in

    Ich danke dir dennoch sehr für deine Mühe und hätte vorher auch sagen können, dass das Problem so hätte gelöst werden können.

  • Ich danke dir dennoch sehr für deine Mühe und hätte vorher auch sagen können, dass das Problem so hätte gelöst werden können.

    Du hättest die Aufgabenstellung richtig beschreiben sollen. Es ging darum nur eine Varianten von 4 in den Warenkorb zu legen und nicht nur einen einzigen Artikel kaufen zu können.

    WordPress ist "frei" wie in Freiheit es zu nutzen, aber nicht im Sinne von Freibier. Wer also glaubt man bekommt rund um WordPress alles kostenlos, der irrt. Hilfe ist ein Geschenk für das man sich bedankt, dafür gibt es den 'Gefällt mir' Button. Wer das nicht kann und sich selbst nicht zu helfen weiss, muss sich bezahlte Unterstützung suchen.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!