Zeigen Sie verwendete Gutscheine in einer benutzerdefinierten Spalte in der Bestelltabelle „Mein Konto“ von WooCommerce an

Lesezeit: 1 Minute

Benutzeravatar von Jake W
Jake W

Meine Absicht ist es, die in einer Bestellung verwendeten Coupons in einer benutzerdefinierten Spalte in der Bestelltabelle von WooCommerce „Mein Konto“ anzuzeigen.


Bild vom Tisch vor Ort:

Tisch vor Ort

Mein Codeversuch:

add_filter( 'woocommerce_account_orders_columns', 
'add_coupon_codes_column');
    function add_coupon_codes_column( $columns ){
        $new_columns = [
        "order-number" => $columns["order-number"],
        // ...
        "coupon-codes" => __( 'Code', '' ),
        // ...
        "order-actions" => $columns["order-actions"]
    ];
    return $new_columns;
}

add_action( 'woocommerce_my_account_my_orders_column_coupon_codes', 
'add_coupon_codes_content' );
    function add_coupon_codes_content($order) {
    echo esc_html($order->get_coupon_codes());
}

Dies basiert auf dem Antwortcode „Fügen Sie eine benutzerdefinierte Spalte mit Metadaten zur Tabelle „Meine Kontobestellungen“ hinzu“ im Woocommerce 3+-Antwortcode.


Ich kann die Spalte problemlos erstellen, aber leider werden die gewünschten Daten nicht angezeigt. Jemand, der mir dabei helfen kann?

Benutzeravatar von 7uc1f3r
7uc1f3r

Sie sind mit Ihrem Codeversuch am Ende, es besteht jedoch keine wirkliche Notwendigkeit, die vorhandenen Spalten zu durchlaufen. Es sei denn, Sie möchten die Reihenfolge aus der neuen Spalte bestimmen.

Anschließend stehen für die Ausgabe der Gutscheincodes mehrere Optionen zur Verfügung, eine davon ist beispielsweise die Verwendung implodieren()

Sie erhalten also:

// Add new column(s) to the "My Orders" table in the account.
function filter_woocommerce_account_orders_columns( $columns ) {
    $columns['coupon-codes'] = __( 'Coupons', 'woocommerce' );

    return $columns;
}
add_filter( 'woocommerce_account_orders_columns', 'filter_woocommerce_account_orders_columns', 10, 1 );

// Adds data to the custom column in "My Account > Orders"
function action_woocommerce_my_account_my_orders_column_coupon_codes( $order ) {
    // Get codes
    $coupon_codes = $order->get_coupon_codes();
        
    if ( ! empty( $coupon_codes ) ) {
        echo implode( ', ', $coupon_codes );
    }
}
add_action( 'woocommerce_my_account_my_orders_column_coupon-codes', 'action_woocommerce_my_account_my_orders_column_coupon_codes', 10, 1 );

Verwandt: Fügen Sie der WooCommerce-Bestelltabelle „Mein Konto“ mehrere benutzerdefinierte Spalten hinzu

1451210cookie-checkZeigen Sie verwendete Gutscheine in einer benutzerdefinierten Spalte in der Bestelltabelle „Mein Konto“ von WooCommerce an

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

Privacy policy