在 Woocommerce 3+ 中的我的帐户订单表中添加自定义列

Dim*_*rah 6 php account wordpress orders woocommerce

Woocommerce 3.5.x 在用户帐户(我的帐户)区域有一个特殊页面,它显示用户以前的订单。

此页面现在默认显示 5 列。

这是 woocommerce Orders 区域的屏幕截图,有 5 列:

我的订单

我找不到改变这一点的方法。

如何在默认情况下添加新列?

Loi*_*tec 6

这需要 2 个函数来添加新列

第二个函数钩子是一个复合钩子:需要用第一个函数中设置的列键slug替换的woocommerce_my_account_my_orders_column_{$column_id}地方{$column_id}

第二个函数管理显示的行值,您可以添加例如自定义字段以获取自定义订单元数据值。

编码:

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 );
    }
}
Run Code Online (Sandbox Code Playgroud)

代码位于活动子主题(或活动主题)的 function.php 文件中。测试和工作。


您已完成并将自定义列添加到我的帐户订单表:

在此处输入图片说明

如果要在表 html 输出中进行更改,则必须覆盖模板文件: myaccount/orders.php