修改woocommerce orders.php列

时间:2016-10-17 18:09:22

标签: wordpress woocommerce

我正在尝试修改Woocommerce orders.php表中的列。我想摆脱TOTAL列以及DATE列,然后我想添加一个新列,其中包含一些特定于我的商店的自定义信息。

以下函数曾用过,但自Woocommerce 2.6以来已被弃用。所以问题是,有谁知道如何在2.6之后删除/添加列到这个表?

function wc_get_account_orders_columns() {
  $columns = apply_filters( 'woocommerce_account_orders_columns', array(
    'order-number'  => __( 'Order', 'woocommerce' ),
    'order-date'    => __( 'Date', 'woocommerce' ),
    'order-status'  => __( 'Status', 'woocommerce' ),
    'order-total'   => __( 'Total', 'woocommerce' ),
    'order-actions' => ' ',
  ) );

  // Deprecated filter since 2.6.0.
  return apply_filters( 'woocommerce_my_account_my_orders_columns', $columns );
}

3 个答案:

答案 0 :(得分:5)

我的一个朋友帮我解决了这个问题。这是我最终使用的功能,以防任何人发现它有用:

spannableToast(spannableString("your text","DroidHindi"));

请注意,首先取消设置所有列然后再次设置它们是不必要的,除非您想要更改它们的顺序或在现有列之间插入新列。

答案 1 :(得分:0)

这会对你有帮助。

add_filter( 'manage_edit-shop_order_columns','your_function_name',10 );
function your_function_name($columns)
{
    unset($columns['order_total']);
    unset($columns['order_date']);
    return $columns;    
}

答案 2 :(得分:0)

在其他答案中没有提到如何使用自定义信息填充列。所以,完整的算法如下:

步骤1.添加或删除

add_filter( 'manage_edit-shop_order_columns','your_function_name');
function your_function_name($columns)
{
    // to remove just use unset
    unset($columns['order_total']); // remove Total column
    unset($columns['order_date']); // remove Date column

    // now it is time to add a custom one
    $columns['custom_column'] = "Column title";

    return $columns;    
}

步骤2.填写数据

add_action( 'manage_shop_order_posts_custom_column' , 'your_function_name2' );
function your_function_name2( $column ) {
    global $the_order; // you can use the global WP_Order object here
    // global $post; // is also available here

    if( $column == 'custom_column' ) {

        // do stuff, ex: get_post_meta( $post->ID, 'key', true );

    }

}

您还可以查看this tutorial了解更多示例。