Zeigen Sie den Produktnamen und die Menge in einer neuen Spalte auf Woocommerce My account Orders an

Lesezeit: 2 Minuten

Zeigen Sie den Produktnamen und die Menge in einer neuen
林煌木

In Woocommerce möchte ich eine neue Spalte zur Bestellliste „Mein Konto“ hinzufügen und den Namen und die Menge der bestellten Produkte anzeigen.

Ich habe zum Beispiel diesen Code, der eine neue Spalte hinzufügt, die den Bestellnamen anzeigt:

function sv_wc_add_my_account_orders_column( $columns ) {
    $new_columns = array();

    foreach ( $columns as $key => $name ) {
        $new_columns[ $key ] = $name;

        if ( 'order-status' === $key ) {
            $new_columns['order-ship-to'] = __( 'Ship to', 'textdomain' );
        }
    }
    return $new_columns;
}
add_filter( 'woocommerce_my_account_my_orders_columns', 'sv_wc_add_my_account_orders_column' );

function sv_wc_my_orders_ship_to_column( $order ) {
    $formatted_shipping = $order->get_name;

    echo ! empty( $formatted_shipping ) ? $formatted_shipping : '–';
}
add_action( 'woocommerce_my_account_my_orders_column_order-ship-to', 'sv_wc_my_orders_ship_to_column' );

Wie kann ich es ändern, um den Namen und die Menge der bestellten Produkte anzuzeigen?

Der folgende Code fügt eine benutzerdefinierte Spalte zum Abschnitt Meine Kontobestellungen hinzu, in der der Produktname und die Menge für jede Bestellung angezeigt werden:

add_filter( 'woocommerce_my_account_my_orders_columns', 'additional_my_account_orders_column', 10, 1 );
function additional_my_account_orders_column( $columns ) {
    $new_columns = [];

    foreach ( $columns as $key => $name ) {
        $new_columns[ $key ] = $name;

        if ( 'order-status' === $key ) {
            $new_columns['order-items'] = __( 'Product | qty', 'woocommerce' );
        }
    }
    return $new_columns;
}

add_action( 'woocommerce_my_account_my_orders_column_order-items', 'additional_my_account_orders_column_content', 10, 1 );
function additional_my_account_orders_column_content( $order ) {
    $details = array();

    foreach( $order->get_items() as $item )
        $details[] = $item->get_name() . ' × ' . $item->get_quantity();

    echo count( $details ) > 0 ? implode( '<br>', $details ) : '&ndash;';
}

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

  • $neue_Spalten[‘order-items’] = __( ‘Produkt | Menge’, ‘woocommerce’ ); Wenn es sich um den Titel dieser Spalte handelt, wird das Chinesische als “商品x數量” angezeigt.

    – 林煌木

    7. April 2019 um 12:21 Uhr


  • @LoicTheAztec, Großartig! Wie füge ich eine kurze Produktbeschreibung hinzu?

    – Danni

    21. November 2020 um 18:05 Uhr

  • Ersetzen $details[] = $item->get_name() . '&nbsp;&times;&nbsp;' . $item->get_quantity(); durch diese 2 Codezeilen: $product = wc_get_product ($item->get_product_id() );und dann $details[] = $product->get_short_description();

    – LoicTheAztec

    21. November 2020 um 20:25 Uhr

  • @LoicTheAztec ist es möglich, mit diesem Code mehrere Spalten hinzuzufügen?

    – Olga Berning

    14. Januar 2021 um 11:58 Uhr

  • @OlgaBerning Ja klar geht das. Sie müssen für jeden einen benutzerdefinierten Schlüssel festlegen.

    – LoicTheAztec

    14. Januar 2021 um 12:55 Uhr


916870cookie-checkZeigen Sie den Produktnamen und die Menge in einer neuen Spalte auf Woocommerce My account Orders an

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

Privacy policy