Benutzerdefiniertes Feld zur Registerkarte „Zusätzliche Informationen“ hinzufügen (WooCommerce)

Lesezeit: 2 Minuten

Benutzer-Avatar
tobiasg

Ich versuche, ACF zu verwenden, um der Registerkarte „Zusätzliche Informationen“ für die Produkte in WooCommerce ein benutzerdefiniertes Attribut hinzuzufügen. Ich möchte, dass der Administrator ein PDF hochladen kann, das dann in der Tabelle auf der Registerkarte “Zusätzliche Informationen” eingestellt und verlinkt werden soll.

Genauer gesagt habe ich das Standard-Template für die Attribute im Plugin-Verzeichnis für WooCommerce gefunden woocommerce/templates/single-product/product-attributes.php. So sieht die Vorlage aus. Ich kann einfach nur die setzen the_field("pdf") dort, um das benutzerdefinierte Feld anzuzeigen, aber das Problem, auf das ich stoße, ist, dass die Registerkarte Zusätzliche Informationen nur angezeigt wird, wenn Attribute über WooCommerce hinzugefügt wurden.

Gibt es eine Möglichkeit, zusätzliche bedingte Tags hinzuzufügen, wann die Registerkarte „Zusätzliche Informationen“ angezeigt werden soll? Wenn ich irgendwie hinzufügen könnte if (get_field("pdf")) zu diesem Code denke ich, dass dies gelöst werden würde.

Benutzer-Avatar
LoicTheAztec

Aktualisiert: In Woocommerce, wenn Abmessungen, Gewicht oder Produktattribute vorhanden sind (wird auf dem Produkt angezeigt) existieren, wird die Registerkarte „Zusätzliche Informationen“ angezeigt…

Also, wenn die Registerkarte ausgeblendet ist und Sie hinzugefügt haben single-product/product-attributes.php Vorlage für ein benutzerdefiniertes Feld get_field("pdf") Angezeigt werden das hat einen Wertdu kannst Erzwingen Sie, dass die Registerkarte “Zusätzliche Informationen” angezeigt wird mit:

add_filter( 'woocommerce_product_tabs', 'woo_customize_tabs', 100, 1 );
function woo_customize_tabs( $tabs ) {
    if( ! isset($tabs['additional_information']) && null !== get_field("pdf") ){
        $tabs['reviews']['priority'] = 30;
        $reviews = $tabs['reviews'];
        unset($tabs['reviews']);
        $tabs['additional_information'] = array(
            'title'     => __( 'Additional information', 'woocommerce' ),
            'priority'  => '20',
            'callback'  => 'woocommerce_product_additional_information_tab',
        );
        $tabs['reviews'] = $reviews;
    }
    return $tabs;
}

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

  • Gibt es eine Möglichkeit, die zu verwenden get_field("pdf") code und rufen Sie die Registerkarte “Zusätzliche Informationen” auf, um anzuzeigen, ob entweder die Dimensionsattribute festgelegt sind ODER das ACF-Feld “pdf” für ein bestimmtes Produkt festgelegt ist?

    – Tobiasg

    2. April 2018 um 21:03 Uhr


  • Es funktionierte! Ich musste mich ändern isset(get_field("pdf")) zu null !== get_field("pdf") aber um einen Fehler loszuwerden, der mir das sagt isset konnte nicht verwendet werden get_field(). Vielleicht sollte das in Ihrer Antwort geändert werden, wenn das stimmt. Vielen Dank für deine Hilfe!

    – Tobiasg

    2. April 2018 um 21:45 Uhr

1034430cookie-checkBenutzerdefiniertes Feld zur Registerkarte „Zusätzliche Informationen“ hinzufügen (WooCommerce)

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

Privacy policy