Wie zeige ich das ACF-Feld nach dem Produktnamen im Warenkorb und Bestellbewertungen in WooCommerce an?

Lesezeit: 2 Minuten

Ross‘ Benutzer-Avatar
Ross

Ich habe erweiterte benutzerdefinierte Felder für den Beitragstyp bei WooCommerce-Produkten eingerichtet. Jedes Produkt verfügt also über ein einzigartiges benutzerdefiniertes Feld.

Ich versuche, das benutzerdefinierte Feld nach dem Produktnamen im Warenkorb sowie auf der Checkout-Seite und den Bestelltabelleninformationen anzuzeigen.

Es treten jedoch Probleme auf, da mein Code keine Ausgabe anzeigt.

Für Ratschläge, wie dies erreicht werden kann, wäre ich sehr dankbar. Danke

// Display the ACF custom field 'location' after the product title on cart / checkout page.
function cart_item_custom_feild( $cart_item ) {
    $address = get_field( 'location', $cart_item['product_id'] );
    echo "<div>Address: $address.</div>";
}
add_action( 'woocommerce_after_cart_item_name', 'cart_item_custom_feild', 10, 1 );

Ich habe es auch versucht the_field anstatt get_field

Ruvees Benutzeravatar
Ruvee

1- Auf der Warenkorbseite UND in der Bestellübersichtstabelle auf der Checkout-Seite

Wenn Sie beides auf der Warenkorbseite ausführen müssten UND Bestellüberprüfungstabelle auf der Checkout-Seite, die Sie verwenden können woocommerce_cart_item_name Filterhaken, so:

add_filter('woocommerce_cart_item_name', 'order_review_custom_field', 999, 3);

function order_review_custom_field($product_name, $cart_item, $cart_item_key)
{
    $address = get_field('location', $cart_item['product_id']);

    return ($address) ?
        $product_name . '<div>Address: ' . $address . '</div>'
        :
        $product_name . '<div>Address: No address found!</div>';

}

Hier ist das Ergebnis auf der Warenkorbseite:

Geben Sie hier eine Bildbeschreibung ein

Und auf dem Bestellübersichtstabelle auf der Checkout-Seite:

Geben Sie hier eine Bildbeschreibung ein


2- In der E-Mail UND in der Tabelle mit den Bestelldetails auf der Dankesseite:

Wir könnten es gebrauchen woocommerce_order_item_meta_end Aktions-Hook, um den benutzerdefinierten Feldwert an das Ende des Produktnamens in der E-Mail-Vorlage anzuhängen:

add_action("woocommerce_order_item_meta_end", "email_order_custom_field", 999, 4);

function email_order_custom_field($item_id, $item, $order, $plain_text)
{
    $address = get_field('location', $item->get_product_id());

    echo ($address) ?
        '<div>Address: ' . $address . '</div>'
        :
        '<div>Address: No address found!</div>';
};

Und hier ist das Ergebnis in der E-Mail:

Geben Sie hier eine Bildbeschreibung ein

Und in der Tabelle mit den Bestelldetails auf der Dankesseite:

Geben Sie hier eine Bildbeschreibung ein


Diese Antwort wurde vollständig auf Woocommerce getestet 5.7.1 und funktioniert.

  • Danke, Ruvee. Sie fragen sich, ob dies auch in der Bestelltabelle in WooCommerce Orders möglich wäre? WC-Bestellung. do_action -> ‘woocommerce_email_order_details’,

    – Ross

    4. Januar 2022 um 16:35 Uhr


  • Welcher Bestelltisch? Bestelltabelle auf der E-Mail-Vorlage? Oder Bestelltabelle im Admin-Dashboard?

    – Ruvee

    4. Januar 2022 um 17:24

  • Die Bestelltabelle in der E-Mail-Vorlage.

    – Ross

    4. Januar 2022 um 17:55 Uhr

  • Ich habe auch einen Ausschnitt für die E-Mail hinzugefügt.

    – Ruvee

    4. Januar 2022 um 21:45 Uhr

1450870cookie-checkWie zeige ich das ACF-Feld nach dem Produktnamen im Warenkorb und Bestellbewertungen in WooCommerce an?

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

Privacy policy