Entfernen Sie „Option auswählen“ aus den Drop-down-Menüs für variable Produkte in Woocommerce 3

Lesezeit: 4 Minuten

Benutzer-Avatar
Roman Bartik

Ich möchte aus der Dropdown-Liste der Variationen auf der WooCommerce-Produktseite die folgende “Option” entfernen:
WooCommerce-Problem „Option auswählen“.

Ich habe viele, anscheinend nicht funktionierende Codes gefunden, die die Arbeit erledigen sollten. Wahrscheinlich veraltet auf die neueste WooCommerce-Version.

Was ich versucht habe und teilweise funktioniert:

add_filter( 'woocommerce_dropdown_variation_attribute_options_args', 'my_wc_filter_dropdown_args', 10 );
function my_wc_filter_dropdown_args( $args ) {
    $args['show_option_none'] = '';
    return $args;
}

Dies funktioniert nur, wenn ich einen Text zwischen ” setze, nicht leer. Wenn es genau wie oben in die functions.php eingefügt wird, ist es unverändert und auf den Standardtext gesetzt – “Wählen Sie eine Option” wie auf dem Bild. Ich bin mir nicht sicher, was hier falsch ist. Ich habe auch “false” oder “none” ausprobiert, aber mit keiner der Optionen funktioniert.

Wenn mir jemand dabei helfen könnte wäre ich dankbar.

Ich verwende das neueste WP 4.9.6 und das neueste von WooCommerce (unabhängig von der Version). Alles ist auf die neueste Version aktualisiert, sogar PHP (7.2).

Benutzer-Avatar
LoicTheAztec

Der richtige Weg, dies zu tun, ist die Verwendung woocommerce_dropdown_variation_attribute_options_html Filterhaken statt. Unten der Screenshot für ein normales variables Produkt mit Standardattribut-Dropdowns:

Geben Sie hier die Bildbeschreibung ein

Es gibt also 2 verschiedene Fälle:

1) Entfernen dieses HTML option ganz**:

add_filter( 'woocommerce_dropdown_variation_attribute_options_html', 'filter_dropdown_option_html', 12, 2 );
function filter_dropdown_option_html( $html, $args ) {
    $show_option_none_text = $args['show_option_none'] ? $args['show_option_none'] : __( 'Choose an option', 'woocommerce' );
    $show_option_none_html="<option value="">" . esc_html( $show_option_none_text ) . '</option>';

    $html = str_replace($show_option_none_html, '', $html);

    return $html;
}

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

Die HTML-Option wird vollständig entfernt, wobei nur die Option mit Produktattributwerten beibehalten wird:

Geben Sie hier die Bildbeschreibung ein


2) Entfernen Sie nur den Text “Wählen Sie eine Option” (Sie haben eine Option ohne Label-Namen):

add_filter( 'woocommerce_dropdown_variation_attribute_options_html', 'filter_dropdown_option_html', 12, 2 );
function filter_dropdown_option_html( $html, $args ) {
    $show_option_none_text = $args['show_option_none'] ? $args['show_option_none'] : __( 'Choose an option', 'woocommerce' );
    $show_option_none_text = esc_html( $show_option_none_text );

    $html = str_replace($show_option_none_text, '', $html);

    return $html;
}

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

Geben Sie hier die Bildbeschreibung ein

Der gesamte Code wird auf der neuesten Woocommerce-Version 3.4.x getestet

  • Vielen Dank, hiermit wird tatsächlich der Text “Option auswählen” entfernt. Aber die Art und Weise, wie es besser aussehen und funktionieren würde, wäre, die Linie vollständig zu entfernen. Jetzt sieht es so aus: i.imgur.com/qjf6SJF.png Kann man das so entfernen? Danke im Voraus.

    – Roman Bartik

    4. Juli 2018 um 23:28 Uhr


  • @RomanBartík Es gibt 2 Codeschnipsel: Das erste Entfernen Sie die HTML-Optionszeile vollständig, genau wie Sie fragen… Der zweite entfernt nur den Text. Probieren Sie die erste aus, Sie werden sehen, dass sie in der letzten Version von Woocommerce funktioniert.

    – LoicTheAztec

    4. Juli 2018 um 23:40 Uhr

  • Entschuldigung, ich habe Ihre Screenshots nicht bemerkt, da die Seite ohne sie geladen wurde, daher war es etwas verwirrend. Alles funktioniert wie du gesagt hast. Ich brauche die erste Version, die Sie gepostet haben, also habe ich diese verwendet, aber beide funktionieren, wie Sie sagen. Nochmals vielen Dank und Entschuldigung für das Missverständnis.

    – Roman Bartik

    5. Juli 2018 um 0:06 Uhr

  • @LoicTheAztec Ich habe ein Problem beim Versuch, Fall 1 zum Laufen zu bringen, es funktioniert nur teilweise, der Text zur Auswahl einer Option wird entfernt und die erste echte Option wird korrekt ausgewählt, aber das Problem ist, dass der Text auch aus dieser Option entfernt wird. Verwenden Sie die neueste woocomerce-Version

    – Richard Mišenčík

    13. November 2018 um 12:00 Uhr

  • @RichardMišenčík Ich habe den Code in der letzten Version von WC getestet und er ist immer noch perfekt. Es könnte mit Ihrer Sprache zusammenhängen, nehme ich an …

    – LoicTheAztec

    13. November 2018 um 14:15 Uhr


Benutzer-Avatar
lautbel

Fügen Sie diesen Code hinzu Funktion.php Datei Ihres aktuellen Designs.

add_filter( 'woocommerce_dropdown_variation_attribute_options_html', 'filter_dropdown_option_html', 12, 2 );
function filter_dropdown_option_html( $html, $args ) {
    $show_option_none_text = $args['show_option_none'] ? $args['show_option_none'] : __( 'Choose an option', 'woocommerce' );
    $show_option_none_html="<option value="">".esc_html( $show_option_none_text ).'</option>';
    $html = str_replace($show_option_none_html, '', $html);
    return $html;
}

Einfach Funktionsdatei einfügen

add_filter( 'woocommerce_dropdown_variation_attribute_options_args', 'wc_remove_options_text');
function wc_remove_options_text( $args ){
    $args['show_option_none'] = '';
    return $args;
}

Wie wäre es, wenn Sie dies per CSS tun?

.select2-results__options li:first-child {
   display: none;
}

1383580cookie-checkEntfernen Sie „Option auswählen“ aus den Drop-down-Menüs für variable Produkte in Woocommerce 3

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

Privacy policy