在WooCommerce中将列添加到管理订单列表 [英] Add columns to admin orders list in WooCommerce
问题描述
我正在为我的一个电子商务WordPress网站使用WooCommerce插件.我想在WooCommerce管理区域的订单列表页面中添加一些列.我无法找到要添加的位置.
I am using WooCommerce plugin for one of my ecommerce WordPress websites. I want to add some columns to my order listing page in the WooCommerce admin area. I am not able to find out where to add that.
任何人都可以建议我需要修改哪个模板页面以满足我的要求吗?
Can anyone advise which template page I need to amend in order to meet my requirement?
推荐答案
更新:2018年3月30日-在新列中添加了定位功能
Updated: 2018-03-30 - added positioning feature to the new columns
因此,如果您想在订单管理列表页面(在后端)中添加一些列:
So you if you want to add some columns in the orders Admin list page (in backend):
在WOOCOMMERCE ADMIN订单列表中添加列
在下面的示例中,我们在现有的总计"和操作"列之前添加了2个新的自定义列.
In the example below, we add 2 new custom columns, before existing "Total" and "Actions" columns.
// 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文件中.经过测试,可以正常工作.
Code goes in function.php file of your active child theme (or active theme). Tested and works.
Related answer (for products): Add custom columns to admin producs list in WooCommerce backend
这篇关于在WooCommerce中将列添加到管理订单列表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!