Bestimmte Variationen ausblenden

Lesezeit: 4 Minuten

Viriks Benutzeravatar
Wirik

Wie kann ich eine Variation aus dem Dropdown auf einer Produktseite ausblenden, sie aber dennoch über WooCommerce-URL-Coupons kaufen lassen?

Wenn ich die Variante nicht aktiv mache, wird sie im Drop-down-Menü ausgeblendet, aber ich erhalte im Warenkorb die Meldung „Dieses Produkt kann nicht gekauft werden“. Ich möchte es nur aus der Liste ausblenden, nicht vollständig deaktivieren.

  • Hier ist ein Link zum Produkt. Vielen Dank. Attribute können von Produkt zu Produkt variieren. Wir möchten in der Lage sein, mehrere versteckte Attribute hinzuzufügen. natureventyr.no/vare-reisemal/egypt

    – Virik

    23. August 2017 um 13:21 Uhr

  • Das ist für uns keine gute Lösung. Die beste Lösung, wenn wir alle herunterladbaren Variablen aus der Dropdown-Liste ausblenden und diese Option für ausgeblendete Attribute verwenden könnten.

    – Virik

    23. August 2017 um 17:09 Uhr

Benutzeravatar von James Jones
James Jones

Die folgende Lösung hat bei meinem Thema funktioniert, aber Sie führen Bootstrap aus, sodass möglicherweise Probleme auftreten.

Wir ändern die option Tag der Optionen, die Sie mit ausblenden möchten hidden Attribut. Nehmen Sie den folgenden Code und fügen Sie ihn Ihrem Design hinzu functions.php oder ein benutzerdefiniertes Plugin:

Benutzerdefinierter Code

function custom_woocommerce_dropdown_variation_attribute_options_html( $html, $args )
{
    $product = $args[ 'product' ];
    $attribute = $args[ 'attribute' ];
    $terms = wc_get_product_terms( $product->get_id(), $attribute, array( 'fields' => 'all' ) );
    $options = $args[ 'options' ];
    if ( empty( $options ) && !empty( $product ) && !empty( $attribute ) ) {
        $attributes = $product->get_variation_attributes();
        $options = $attributes[ $attribute ];
    }

    foreach ( $terms as $term ) {
        if ( in_array( $term->slug, $options ) && ***SOME CONDITION***) {
            $html = str_replace( '<option value="' . esc_attr( $term->slug ) . '" ', '<option hidden value="' . esc_attr( $term->slug ) . '" ', $html );
        }
    }
    return $html;
}
add_filter( 'woocommerce_dropdown_variation_attribute_options_html', 'custom_woocommerce_dropdown_variation_attribute_options_html', 10, 2 );

Beachten Sie, dass einige Browser die nicht erkennen hidden Attribut. Wenn Sie vollständige Cross-Browser-Kompatibilität wünschen, sollten Sie sich die Antworten unter How to hide a

1435560cookie-checkBestimmte Variationen ausblenden

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

Privacy policy