Updated: 2018-03-30 – added positioning feature to the new columns
因此,如果要在订单管理员列表页面(后端)中添加一些列,请执行以下操作:
在WOOCOMMERCE ADMIN ORDERS列表中添加列
在下面的示例中,我们在现有的“Total”和“Actions”列之前添加了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 '(no value)';
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 '(no value)';
break;
}
}
代码位于活动子主题(或活动主题)的function.PHP文件中.经过测试和工作.