Blenden Sie das Dropdown-Menü für variable Produkte aus, für die in Woocommerce standardmäßig eine eindeutige Variante ausgewählt ist

Lesezeit: 3 Minuten

Blenden Sie das Dropdown Menu fur variable Produkte aus fur die
Nitefrosch

Ich habe ein einzigartiges Problem. Ich verwende ein Plugin, bei dem sie die Anfrage nicht unterstützen können. Ich muss Variationen in separate Artikel aufteilen, aber wenn ich sie kopiere und einfüge und in ein einfaches Produkt umwandle, kann ich die Zählung für das Produkt nicht synchronisieren, um den Lagerbestand zu verfolgen. Als Problemumgehung musste ich in der Lage sein, die Variationen zu deaktivieren, die ich nicht benötige, und nur diejenige behalten, die ich benötige. Aber hier habe ich Schwierigkeiten. Wenn ich eine Variante aktiviert habe, möchte ich das Dropdown-Menü nicht anzeigen, sondern möchte, dass es auf der Benutzeroberfläche wie ein einfaches Produkt aussieht. Ich habe alles versucht und bekomme es nicht zum Laufen.

Ich habe sogar versucht, es zu verwenden

add_filter( 'woocommerce_hide_invisible_variations', '__return_true', 10, 3 );

ohne Erfolg, da sie sichtbar und nicht ausgeblendet sind, obwohl die Anzahl 0 ist, der Preis 0 ist und der Artikel deaktiviert ist.

Wie kann ich die Produktseite ohne Dropdown anzeigen? Gehen Sie noch einen Schritt weiter; Ich lösche alle Variationen außer der, die ich behalten muss. Ich muss es aufgrund des Plugins, das synchronisiert, im Variationsmodus halten. Wie zeige ich es an, ohne dass Dropdowns angezeigt werden?

Beispiellogik:

Wenn der Produkttyp eine Variation ist und die Anzahl aktiviert ist == 1, dann spezielle UI-Anzeige, sonst normal.

Danke.

Blenden Sie das Dropdown Menu fur variable Produkte aus fur die
LoicTheAztec

WICHTIG: Der Code funktioniert nur wenn die eindeutige Variante als ausgewählt ist Ursprünglich Formularwert:

Geben Sie hier die Bildbeschreibung ein

Der folgende Code wird vor variablen Produkten ausgeblendet, für die nur eine Variante aktiviert ist und standardmäßig ausgewähltdas Attribut-Dropdown und der ausgewählte Variationspreis:

add_action( 'woocommerce_before_add_to_cart_form', 'single_unique_variation_ui', 10 );
function single_unique_variation_ui(){
    global $product;

    if( ! $product->is_type('variable') )
        return; // Only variable products

    $available_variations = $product->get_available_variations(); // Get available variations
    $default_attributes   = $product->get_default_attributes();   // Get default attributes

    // Only for a unique selected variation by default
    if( ! ( sizeof($available_variations) == 1 && sizeof($default_attributes) == 1 ) )
        return;

    // Get the unique variation
    $variation = reset($available_variations);

    // Loop through
    if( reset($variation['attributes']) == reset($default_attributes) ) :
    // Styles
    ?>
    <style>
        div.woocommerce-variation-price, table.variations { display:none; }
    </style>
    <?php
    endif;
}

Der Code wird in die function.php-Datei Ihres aktiven untergeordneten Designs (oder aktiven Designs) eingefügt. Getestet und funktioniert.

Ohne Code (das normale Woocommerce-Verhalten):

Geben Sie hier die Bildbeschreibung ein

Mit dem Code (die das Attribut-Dropdown und den Preis ausblenden):

Geben Sie hier die Bildbeschreibung ein

Es gibt Ihnen die gleiche Benutzeroberfläche wie einfache Produkte

  • Vielen Dank für deine Hilfe! Ich schätze es sehr. Es funktioniert perfekt!

    – Nitefrog

    29. September 2018 um 12:52 Uhr

  • Ich habe ein ähnliches Problem und möchte mich daher dieser Frage anschließen: Ich habe eine Produktvariation, basierend auf der Farbe eines Produkts: rot oder grün. Nun sollte das rote Produkt das Attribut „Maschinenwäsche 30 Grad“ und das grüne Produkt „Maschinenwäsche 40 Grad“ haben. Also habe ich beide Attribute für “Use for Variation” ausgewählt. Ich sehe auch die Auswahl für die Farbe. Leider wird auch eine Auswahl für das Attribut „Maschinenwäsche“ angezeigt. Diese sollte aber gar nicht anwählbar sein, sondern einem festen Attribut zugeordnet sein. Haben Sie dafür eine Lösung?

    –Martin P.

    17. November 2020 um 10:07 Uhr

  • So habe ich es versucht (Screenshot: ibb.co/hdhBf1h ). Aber im Frontend gibt es ein Auswahlfeld für das Attribut Maschinenwäsche… Dieses Auswahlfeld ist korrekt eingerichtet: Es erlaubt Ihnen nur, 30° zu wählen, wenn Sie das rote Hemd gewählt haben, und 40°, wenn Sie das grüne Hemd gewählt haben . Aber das Maschinenwäsche-Attribut sollte nur eine Information sein – kein wählbares Attribut.

    –Martin P.

    17. November 2020 um 10:25 Uhr

  • Gibt es eine andere Möglichkeit, separate Attribute für jede Produktvariante hinzuzufügen?

    –Martin P.

    17. November 2020 um 10:30 Uhr

  • @MartinP. Sie sollten etwas jQuery-Code für das zugehörige Variablenprodukt hinzufügen, damit es so funktioniert, wie Sie es möchten.

    – LoicTheAztec

    17. November 2020 um 10:32 Uhr

916950cookie-checkBlenden Sie das Dropdown-Menü für variable Produkte aus, für die in Woocommerce standardmäßig eine eindeutige Variante ausgewählt ist

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy