Produktattribute auf der Registerkarte „Zusätzliche Informationen“ in WooCommerce ausblenden

Lesezeit: 4 Minuten

Benutzer-Avatar
Romu

Wie verstecke ich bestimmte benutzerdefinierte Produktattribute auf der Registerkarte mit zusätzlichen Informationen auf einzelnen Produktseiten?

Hinweis: Ich möchte nicht alles ausblenden, nur bestimmte Attribute.

Zum Beispiel möchte ich mich verstecken "pa_size" um es einmal zu nennen.

Nur dieses gefunden, aber es ist für ein Produktgewicht.

add_filter( 'woocommerce_product_get_weight' , '__return_false' );

Benutzer-Avatar
LoicTheAztec

Für alle benutzerdefinierten Produktattribute können Sie sie auf der Registerkarte „Zusätzliche Informationen“ ausblenden, indem Sie einfach die Option deaktivieren “Sichtbar auf der Produktseite” unter Produkteinstellungen > Registerkarte Attribute:

Geben Sie hier die Bildbeschreibung ein

1) Um die Produktabmessungen zu entfernenkönnen Sie dies mit dem folgenden Code deaktivieren:

add_filter( 'woocommerce_product_get_dimensions', '__return_false' );

2) Um alles von der Registerkarte zu entfernen (Gewicht, Abmessungen und benutzerdefinierte Attribute) verwenden Sie Folgendes:

remove_action( 'woocommerce_product_additional_information', 'wc_display_product_attributes', 10 );

3) Zur Feinabstimmung dessen, was Sie anzeigen möchten:

Sie können überschreiben single-product/product-attributes.php Vorlage über Ihr aktives Child-Theme (oder aktives Thema) das alles auf dieser Produktregisterkarte anzeigt.

Sie können also jeden HTML-Block entfernen, der diese Details anzeigt, oder ihn anpassen…


Offizielle Dokumentation: Template-Struktur & Überschreiben von Templates über ein Theme

  • Hallo, danke für die schnelle Antwort. Aber hier muss ich Produkte von Hand auswählen und die Attribute einzeln abwählen? Ich habe mehr als 80.000 Produkte 🙂 Es wäre großartig, sie in der functions.php herauszufiltern, damit neu hinzugefügte Produkte standardmäßig ebenfalls betroffen sind. Ich möchte auch nicht, dass Produktattribute überhaupt deaktiviert werden, sondern nur aus der Front-End-Tabelle unter der Registerkarte “Zusätzliche Informationen” ausgeblendet werden. Etwas wie add_filter( ‘woocommerce_product_”what_ever_attribute”, ‘__return_false’ );

    – Romu

    24. Dezember 2017 um 12:47 Uhr


  • Bitte sehen Sie: s14.postimg.org/mnhg2xyc1/… Produktattribute hier sind in HTML nicht identifizierbar, sonst könnte ich CSS hinzufügen, um sie einfach hier zu verstecken, wie .pa_size {display:none;}

    – Romu

    24. Dezember 2017 um 13:01 Uhr


  • @romu Warum entfernen Sie stattdessen diese Produktregisterkarte nicht? Dies ist einfach und wird dieses Problem lösen

    – LoicTheAztec

    24. Dezember 2017 um 13:04 Uhr


  • Weil ich einige der Informationen zeigen möchte. Sonst würde ich nicht fragen oder? 🙂

    – Romu

    24. Dezember 2017 um 14:48 Uhr

  • Du meinst die /product-attributes.php überschreiben? Nein, noch nicht getestet. Aber hört sich gut an. Ich werde mir das heute anschauen. Vielen Dank für Ihre freundliche Hilfe.

    – Romu

    27. Dezember 2017 um 12:22 Uhr

Verwendung der functions.php kann Probleme beim Versand verursachen, siehe hier: https://github.com/woocommerce/woocommerce/issues/5985#issuecomment-322541850

Einfach kopieren wp-content/plugins/woocommerce/templates/single-product/product-attributes.php zu wp-content/themes/YOUR_CHILD_THEME/woocommerce/single-product/product-attributes.php und füge ein hinzu if um nach dem Attribut zu suchen. (Wie LoicTheAztec in #3 erwähnte)

Dies ist von WooCommerce 4.4.1:

<?php
/**
 * Product attributes
 *
 * Used by list_attributes() in the products class.
 *
 * This template can be overridden by copying it to yourtheme/woocommerce/single-product/product-attributes.php.
 *
 * HOWEVER, on occasion WooCommerce will need to update template files and you
 * (the theme developer) will need to copy the new files to your theme to
 * maintain compatibility. We try to do this as little as possible, but it does
 * happen. When this occurs the version of the template file will be bumped and
 * the readme will list any important changes.
 *
 * @see https://docs.woocommerce.com/document/template-structure/
 * @package WooCommerce/Templates
 * @version 3.6.0
 */

defined( 'ABSPATH' ) || exit;

if ( ! $product_attributes ) {
    return;
}
?>
<table class="woocommerce-product-attributes shop_attributes">
    <?php foreach ( $product_attributes as $product_attribute_key => $product_attribute ) : ?>
        <?php // Hide weight attribute in frontend ?>
        <?php if ( esc_attr( $product_attribute_key ) !== 'weight' ): ?>
            <tr class="woocommerce-product-attributes-item woocommerce-product-attributes-item--<?php echo esc_attr( $product_attribute_key ); ?>">
                <th class="woocommerce-product-attributes-item__label"><?php echo wp_kses_post( $product_attribute['label'] ); ?></th>
                <td class="woocommerce-product-attributes-item__value"><?php echo wp_kses_post( $product_attribute['value'] ); ?></td>
            </tr>
        <?php endif; ?>
    <?php endforeach; ?>
</table>

Ich suchte nach einer Antwort für das gleiche/ähnliche Problem und wollte die Registerkarte “Zusätzliche Informationen” entfernen. Ich bin über den Filter woocommerce_product_tabs auf diesen Beitrag gestoßen

Ich habe es zu functions.php hinzugefügt und die Registerkarte “Zusätzliche Informationen” wird nicht mehr zur Seite hinzugefügt.

1373190cookie-checkProduktattribute auf der Registerkarte „Zusätzliche Informationen“ in WooCommerce ausblenden

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

Privacy policy