Fügen Sie eine benutzerdefinierte Spalte mit Metadaten zur Tabelle Meine Kontobestellungen in Woocommerce 3+ hinzu
Lesezeit: 3 Minuten
Dimas Anugera
Woocommerce 3.5.x hat eine spezielle Seite im Bereich des Benutzerkontos (Mein Konto), auf der die vorherigen Bestellungen des Benutzers angezeigt werden.
Diese Seite wird jetzt standardmäßig mit 5 Spalten angezeigt.
Hier der Screenshot des Woocommerce-Bestellbereichs mit 5 Spalten:
Wie kann ich im Standard eine neue Spalte hinzufügen?
LoicTheAztec
Dies erfordert 2 Funktionen, die eine neue Spalte hinzufügen
Der zweite Funktions-Hook ist ein zusammengesetzter Hook: woocommerce_my_account_my_orders_column_{$column_id} Wo {$column_id} müssen durch den Spaltenschlüssel-Slug ersetzt werden, der in der ersten Funktion festgelegt ist.
Diese zweite Funktion verwaltet die angezeigten Zeilenwerte und Sie können beispielsweise ein benutzerdefiniertes Feld hinzufügen, um benutzerdefinierte Auftragsmetadatenwerte zu erhalten.
Der Code:
add_filter( 'woocommerce_account_orders_columns', 'add_account_orders_column', 10, 1 );
function add_account_orders_column( $columns ){
$columns['custom-column'] = __( 'New Column', 'woocommerce' );
return $columns;
}
add_action( 'woocommerce_my_account_my_orders_column_custom-column', 'add_account_orders_column_rows' );
function add_account_orders_column_rows( $order ) {
// Example with a custom field
if ( $value = $order->get_meta( '_custom_field' ) ) {
echo esc_html( $value );
}
}
Der Code wird in die function.php-Datei Ihres aktiven untergeordneten Designs (oder aktiven Designs) eingefügt. Getestet und funktioniert.
Sie sind fertig und haben der Tabelle Meine Kontobestellungen eine benutzerdefinierte Spalte hinzugefügt:
Wenn Sie Änderungen an der HTML-Ausgabe der Tabelle vornehmen möchten, müssen Sie die Vorlagendatei überschreiben: myaccount/orders.php
Wenn Sie die Bestellvorlage auf der Seite „Mein Konto“ nicht ändern möchten. Hier ist, was Sie tun müssen.