Woocommerce zeigt den Attributnamen anstelle des Slugs auf der Checkout-Seite an
Posted: 08 Jan 2025, 06:23
Die Test-URL meiner Website lautet https://prebuild.nesmrtelnost.tw/.
Auf der Checkout-Seite https://prebuild.nesmrtelnost.tw/checkout/ wird „Ihre Im Abschnitt „Bestellung“ werden derzeit der Produktname, das Variationsattribut, die Menge und der Preis angezeigt. Ich möchte den Slug des Variationsattributs (im angehängten Bild durch eine rote Linie hervorgehoben) ändern, um stattdessen den Namen des Variationsattributs anzuzeigen. Wie kann ich das erreichen?

Ich habe den folgenden Code ausprobiert und ihn über das Snippets-Plugin zu PHP hinzugefügt, aber er funktioniert nicht. Ich vermute, dass dies daran liegen könnte, dass das SellKit-Plugin den woocommerce_order_item_meta-Hook modifiziert, bin mir aber nicht sicher, wie ich den Code entsprechend anpassen soll.
Vielen Dank im Voraus!
Auf der Checkout-Seite https://prebuild.nesmrtelnost.tw/checkout/ wird „Ihre Im Abschnitt „Bestellung“ werden derzeit der Produktname, das Variationsattribut, die Menge und der Preis angezeigt. Ich möchte den Slug des Variationsattributs (im angehängten Bild durch eine rote Linie hervorgehoben) ändern, um stattdessen den Namen des Variationsattributs anzuzeigen. Wie kann ich das erreichen?

Ich habe den folgenden Code ausprobiert und ihn über das Snippets-Plugin zu PHP hinzugefügt, aber er funktioniert nicht. Ich vermute, dass dies daran liegen könnte, dass das SellKit-Plugin den woocommerce_order_item_meta-Hook modifiziert, bin mir aber nicht sicher, wie ich den Code entsprechend anpassen soll.
Code: Select all
/**
* Showing attributes name instead of slug in ckeckout page
*/
function replace_variation_slug_with_name_in_checkout($display_value, $meta, $item) {
$taxonomy_prefix = 'pa_';
if (strpos($meta->key, $taxonomy_prefix) === 0) {
$taxonomy = substr($meta->key, strlen($taxonomy_prefix));
if (taxonomy_exists($taxonomy)) {
$term = get_term_by('slug', $meta->value, $taxonomy);
if ($term && !is_wp_error($term)) {
return $term->name;
}
}
}
return $display_value;
}