如何修改woocommerce管理员订单页面?

时间:2016-01-14 09:23:22

标签: wordpress woocommerce

我正在使用最新的Woocommerce版本2.4.12。我想对woocommerce下的管理信息中心中的订单页面进行一些更改 - >命令。 Woocommerce Orders Page

它在plugins-> woocommerce文件夹中的文件在哪里?我在我的主题中创建了一个woocommerce文件夹来覆盖模板文件。我想将客户的电话号码添加到ship_to列。客户希望订单页面上显示客户的电话号码。有没有办法使用functions.php添加一个钩子并进行更改?

2 个答案:

答案 0 :(得分:15)

尝试使用functions.php

add_filter( 'manage_edit-shop_order_columns', 'shop_order_columns' );
function shop_order_columns( $columns ){
    $new_columns = (is_array($columns)) ? $columns : array();

    $new_columns['phone'] = 'Phone';

    return $new_columns;
}

add_action( 'manage_shop_order_posts_custom_column', 'shop_order_posts_custom_column' );
function shop_order_posts_custom_column( $column ){
    global $post, $the_order;

    if ( empty( $the_order ) || $the_order->get_id() != $post->ID ) {
        $the_order = wc_get_order( $post->ID );
    }

    $billing_address = $the_order->get_address();
    if ( $column == 'phone' ) {    
        echo ( isset( $billing_address['phone'] ) ? $billing_address['phone'] : '');
    }
}

排名问题??

尝试第一个功能

function shop_order_columns($columns){
    $columns = (is_array($columns)) ? $columns : array();

    $phone = array( 'phone' => 'Phone' );
    $position = 5;
    $new_columns = array_slice( $columns, 0, $position, true ) +  $phone;

    return array_merge( $new_columns, $columns );
}

更新了WooCommerce 3

答案 1 :(得分:1)

您应该使用manage_shop_order_posts_custom_column操作并通过检查列名

来更改列数据
switch( $column ) {

        case 'shipping_address' :
            echo 'sample data';
            break;

    }