在Woocommerce我的帐户订单的新列中显示产品名称和数量



在Woocommerce中,我想在我的帐户订单列表中添加一个新列,并显示订购产品的名称和数量。

例如,我有以下代码,它添加了显示订单名称的新列:

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' );

如何更改它以显示订购产品的名称和数量?

以下代码将向"我的帐户订单列表"部分添加一个自定义列,显示每个订单的产品名称和数量:

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;';
}

代码进入函数.php活动子主题(或活动主题(的文件。经过测试并工作。

相关内容

  • 没有找到相关文章

最新更新