WooCommerce Hook: woocommerce_cart_item_name

Marc Wag­ner

Sep­tem­ber 11, 2024

3 min read|

In Woo­Com­mer­ce gibt es eine Viel­zahl von Hooks, die Ent­wick­lern ermög­li­chen, das Ver­hal­ten von Woo­Com­mer­ce ohne Ände­run­gen am Core-Code anzu­pas­sen. Einer der nütz­lichs­ten Hooks ist der woocommerce_cart_item_name, der ver­wen­det wird, um den Namen eines Pro­dukts im Waren­korb zu ändern oder anzu­pas­sen.

In die­sem Blog­bei­trag zei­ge ich dir, wie du den Woo­Com­mer­ce Hook woocommerce_cart_item_name ver­wen­dest und gebe dir eini­ge prak­ti­sche PHP-Bei­­spie­­le.

Was ist der woocommerce_cart_item_name Hook? #

Der woocommerce_cart_item_name Hook erlaubt es dir, den Namen eines Pro­dukts in der Waren­korb­an­sicht zu ver­än­dern. Dies kann nütz­lich sein, wenn du zusätz­li­che Infor­ma­tio­nen wie Pro­dukt­va­ri­an­ten, benut­zer­de­fi­nier­te Fel­der oder sogar HTML-Ele­­men­­te hin­zu­fü­gen möch­test, um die Anzei­ge für den Nut­zer zu ver­bes­sern.

Hook-Syntax #

Die Basis-Syn­­­tax des Hooks sieht wie folgt aus:

add_filter( 'woocommerce_cart_item_name', 'meine_funktion_name_anpassen', 10, 3 );

function meine_funktion_name_anpassen( $produkt_name, $warenkorb_item, $warenkorb_item_key ) {
    // Hier kannst du den Produktnamen anpassen.
    return $produkt_name;
}

Parameter:

  1. $produkt_name (string): Der aktu­el­le Pro­dukt­na­me.
  2. $warenkorb_item (array): Infor­ma­tio­nen über das Pro­dukt im Waren­korb, z. B. Men­ge, ID, etc.
  3. $warenkorb_item_key (string): Ein ein­deu­ti­ger Schlüs­sel für das Pro­dukt im Waren­korb.

Beispiel 1: Produktnamen mit zusätzlichem Text erweitern #

Im ers­ten Bei­spiel erwei­tern wir den Pro­dukt­na­men um einen benut­zer­de­fi­nier­ten Text. Dies ist nütz­lich, wenn du z. B. dem Pro­dukt­na­men einen Hin­weis wie „Son­der­an­ge­bot“ hin­zu­fü­gen möch­test.

add_filter( 'woocommerce_cart_item_name', 'sonderangebot_text_hinzufuegen', 10, 3 );

function sonderangebot_text_hinzufuegen( $produkt_name, $warenkorb_item, $warenkorb_item_key ) {
    $neuer_name = $produkt_name . ' - <span style="color: red;">Sonderangebot!</span>';
    return $neuer_name;
}

In die­sem Bei­spiel wird jedem Pro­dukt­na­men im Waren­korb der Text „Son­der­an­ge­bot!“ hin­zu­ge­fügt, for­ma­tiert mit einem roten Text. Dies sorgt für mehr Auf­merk­sam­keit auf spe­zi­el­le Pro­duk­te.

Beispiel 2: Produktname basierend auf Kategorie anpassen #

Im nächs­ten Bei­spiel pas­se ich den Pro­dukt­na­men basie­rend auf der Kate­go­rie des Pro­dukts an. Ange­nom­men, du möch­test den Namen nur für Pro­duk­te in der Kate­go­rie „Sale“ ändern.

add_filter( 'woocommerce_cart_item_name', 'produkt_name_nach_kategorie_anpassen', 10, 3 );

function produkt_name_nach_kategorie_anpassen( $produkt_name, $warenkorb_item, $warenkorb_item_key ) {
    $produkt_id = $warenkorb_item['product_id'];
    $kategorien = wp_get_post_terms( $produkt_id, 'product_cat' );

    foreach ( $kategorien as $kategorie ) {
        if ( $kategorie->slug == 'sale' ) {
            $produkt_name .= ' - <span class="sale-hinweis">Im Sale!</span>';
        }
    }

    return $produkt_name;
}

In die­sem Bei­spiel wird der Pro­dukt­na­me nur für Pro­duk­te in der Kate­go­rie „Sale“ ange­passt. Falls das Pro­dukt in die­ser Kate­go­rie ist, wird ein Hin­weis „Im Sale!“ hin­zu­ge­fügt.

Beispiel 3: Benutzerdefinierte Felder zum Produktnamen hinzufügen #

Ein wei­te­res nütz­li­ches Bei­spiel ist das Hin­zu­fü­gen von benut­zer­de­fi­nier­ten Fel­dern zum Pro­dukt­na­men. Ange­nom­men, du hast ein benut­zer­de­fi­nier­tes Feld namens „Pro­­dukt-Code“, das du im Waren­korb anzei­gen möch­test.

add_filter( 'woocommerce_cart_item_name', 'benutzerdefinierte_felder_hinzufuegen', 10, 3 );

function benutzerdefinierte_felder_hinzufuegen( $produkt_name, $warenkorb_item, $warenkorb_item_key ) {
    $produkt_id = $warenkorb_item['product_id'];
    $produkt_code = get_post_meta( $produkt_id, '_produkt_code', true );

    if ( ! empty( $produkt_code ) ) {
        $produkt_name .= '<br><small>Produkt-Code: ' . esc_html( $produkt_code ) . '</small>';
    }

    return $produkt_name;
}

Hier wird das benut­zer­de­fi­nier­te Feld „_produkt_code“ abge­ru­fen und zum Pro­dukt­na­men hin­zu­ge­fügt, falls es einen Wert ent­hält. Dies kann für spe­zia­li­sier­te Shops nütz­lich sein, in denen zusätz­li­che Infor­ma­tio­nen zum Pro­dukt direkt im Waren­korb sicht­bar sein sol­len.

Fazit #

Der woocommerce_cart_item_name Hook ist äußerst fle­xi­bel und kann ver­wen­det wer­den, um die Benut­zer­er­fah­rung im Waren­korb zu ver­bes­sern. Mit den gezeig­ten PHP-Bei­­spie­­len kannst du den Pro­dukt­na­men anpas­sen, zusätz­li­che Infor­ma­tio­nen hin­zu­fü­gen oder sogar den Stil der Anzei­ge ver­än­dern.

Nut­ze die­sen Hook, um dei­nen Woo­­Com­­mer­ce-Shop wei­ter anzu­pas­sen und dei­nen Kun­den eine per­so­na­li­sier­te Shop­­­ping-Erfah­rung zu bie­ten.

Viel Erfolg beim Umset­zen!

88e86fcb816eff22bc917094df2862d8dd5c0e978b333e6dd5f36f808990c261 96

Arti­kel von:

Marc Wag­ner

Hal­lo, Marc hier. Ich bin der Grün­der von Forge12 Inter­ac­ti­ve und bereits seit über 20 Jah­ren lei­den­schaft­lich dabei Web­sei­ten, Online­shops, Anwen­dun­gen und SaaS-Lösun­gen für Unter­neh­men zu ent­wi­ckeln. Vor der Grün­dung habe ich bereits in Bör­sen notier­ten Unter­neh­men gear­bei­tet und mir aller­lei Wis­sen ange­eig­net. Die­ses Wis­sen möch­te ich nun an mei­ne Kun­den wei­ter­ge­ben.

Hast du eine Fra­ge? Hin­ter­lass bit­te einen Kom­men­tar