在 woocommerce 3.3 的管理员订单列表中添加列

Add columns in admin order list on woocommerce 3.3

相关:

是否可以在管理订单列表中只添加一个新列。对于本专栏的内容 my-column1 我想有 2 个自定义字段,例如:

$my_var_one = get_post_meta( $post_id, '_the_meta_key1', true );

$my_var_two = get_post_meta( $post_id, '_the_meta_key2', true );

最后,是否可以将此新列放在 order_number 之后?

感谢任何帮助。

已更新 - 可以这样做:

// ADDING 1 NEW COLUMNS WITH THEIR TITLES
add_filter( 'manage_edit-shop_order_columns', 'custom_shop_order_column',11);
function custom_shop_order_column($columns)
{
    $reordered_columns = array();

    foreach( $columns as $key => $column){
        $reordered_columns[$key] = $column;
        if( $key ==  'order_number' ){
            $reordered_columns['my-column1'] = __( 'Title1','theme_slug');
        }
    }
    return $reordered_columns;
}

// Adding the data for the additional column (example)
add_action( 'manage_shop_order_posts_custom_column' , 'custom_orders_list_column_content', 10, 2 );
function custom_orders_list_column_content( $column, $post_id )
{
    if( 'my-column1' == $column )
    {
        // Get custom post meta data 1
        $my_var_one = get_post_meta( $post_id, '_the_meta_key1', true );
        if(!empty($my_var_one))
            echo $my_var_one;

        // Get custom post meta data 2
        $my_var_two = get_post_meta( $post_id, '_the_meta_key2', true );
        if(!empty($my_var_two))
            echo $my_var_two;

        // Testing (to be removed) - Empty value case
        if( empty($my_var_one) && empty($my_var_two) )
            echo '<small>(<em>no value</em>)</small>';
    }
}

其他功能不变…

代码进入您的活动子主题(或活动主题)的 function.php 文件。 已测试并有效。