在WooCommerce的管理订单列表中添加列

27

我正在为我的电子商务WordPress网站使用WooCommerce插件。我想在WooCommerce管理区域的订单列表页面中添加一些列。但是我不知道应该在哪里添加。

请问有人可以指导我需要修改哪个模板页面以满足我的要求吗?

1个回答

57

更新日期:2018-03-30 - 添加了新列的定位功能

如果您想在订单管理页面(后台)中添加一些列:

在WooCommerce管理订单列表中添加列

在下面的示例中,我们将添加2个新的自定义列,位于现有的“总计”和“操作”列之前。

// ADDING 2 NEW COLUMNS WITH THEIR TITLES (keeping "Total" and "Actions" columns at the end)
add_filter( 'manage_edit-shop_order_columns', 'custom_shop_order_column', 20 );
function custom_shop_order_column($columns)
{
    $reordered_columns = array();

    // Inserting columns to a specific location
    foreach( $columns as $key => $column){
        $reordered_columns[$key] = $column;
        if( $key ==  'order_status' ){
            // Inserting after "Status" column
            $reordered_columns['my-column1'] = __( 'Title1','theme_domain');
            $reordered_columns['my-column2'] = __( 'Title2','theme_domain');
        }
    }
    return $reordered_columns;
}

// Adding custom fields meta data for each new column (example)
add_action( 'manage_shop_order_posts_custom_column' , 'custom_orders_list_column_content', 20, 2 );
function custom_orders_list_column_content( $column, $post_id )
{
    switch ( $column )
    {
        case 'my-column1' :
            // Get custom post meta data
            $my_var_one = get_post_meta( $post_id, '_the_meta_key1', true );
            if(!empty($my_var_one))
                echo $my_var_one;

            // Testing (to be removed) - Empty value case
            else
                echo '<small>(<em>no value</em>)</small>';

            break;

        case 'my-column2' :
            // Get custom post meta data
            $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
            else
                echo '<small>(<em>no value</em>)</small>';

            break;
    }
}

将代码放在您的活动子主题(或活动主题)的function.php文件中。已测试,并且可以正常工作。

输入图像描述


相关答案(针对产品): 在WooCommerce后端添加自定义列以管理产品列表


如何在此处获取订单 ID - SHENE
1
@Zam85 使用变量 $post_id。 - LoicTheAztec

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接