Php WooCommerce-订单概述,更改列位置

Php WooCommerce-订单概述,更改列位置,php,wordpress,web,woocommerce,Php,Wordpress,Web,Woocommerce,我只想让其中两个栏目切换位置,这应该很容易——但在woocommerce中,我不太确定如何切换 plugins\woocommerce\includes\admin\class-wc-admin-post-type.php public function shop_order_columns( $existing_columns ) { $columns = array(); $columns['cb']

我只想让其中两个栏目切换位置,这应该很容易——但在woocommerce中,我不太确定如何切换


plugins\woocommerce\includes\admin\class-wc-admin-post-type.php

public function shop_order_columns( $existing_columns ) {
        $columns                     = array();
        $columns['cb']               = $existing_columns['cb'];
        $columns['order_status']     = '<span class="status_head tips" data-tip="' . esc_attr__( 'Status', 'woocommerce' ) . '">' . esc_attr__( 'Status', 'woocommerce' ) . '</span>';
        $columns['order_title']      = __( 'Order', 'woocommerce' );
        $columns['order_date']       = __( 'Date', 'woocommerce' );
        $columns['billing_address']  = __( 'Billing', 'woocommerce' );
        $columns['shipping_address'] = __( 'Ship to', 'woocommerce' );
        $columns['customer_message'] = '<span class="notes_head tips" data-tip="' . esc_attr__( 'Customer Message', 'woocommerce' ) . '">' . esc_attr__( 'Customer Message', 'woocommerce' ) . '</span>';
        $columns['order_notes']      = '<span class="order-notes_head tips" data-tip="' . esc_attr__( 'Order Notes', 'woocommerce' ) . '">' . esc_attr__( 'Order Notes', 'woocommerce' ) . '</span>';
        $columns['order_items']      = __( 'Purchased', 'woocommerce' );

        $columns['order_total']      = __( 'Total', 'woocommerce' );
        $columns['order_actions']    = __( 'Actions', 'woocommerce' );

        return $columns;
    }
将此代码替换为第264至280行 检查屏幕截图

扩展WP List Table类,并在其中重写该函数

如下所示,按所需顺序排列列

function get_columns() {

        return $columns = array(
        'title'        => 'Title',
      'properties'    => 'Properties',
      'stock'=>'Stock',
      'price' => 'Price',
      'published'    => 'Published'
        );
    }
您必须在functions.php或自定义插件中使用manage_edit-orders_columns操作挂钩

add_filter( 'manage_edit-orders_columns', 'changecolumnorder' );
function changecolumnorder( $columns ){
    // one option is to "recreate" the whole array but you can do it with array_slice() function as well

    // remove Date column first 
    unset( $columns['order_date'] );
    // and add it into the correct place

    return array_slice( $columns, 0, 3, true )
    + array( 'order_date' => __( 'Date', 'woocommerce' ) )
    + array_slice( $columns, 3, NULL, true );

}

我在其他答案中看到了编辑woocommerce插件文件的建议。请不要那样做!一定要用钩子。更多允许自定义您可以找到的WooCommerce列的钩子不要直接修改插件文件,因为当应用插件更新时,这些修改将丢失。使用可用的筛选器覆盖管理订单列。