Wordpress 如何将配送区域名称添加到WooCommerce管理订单列表中的新列

Wordpress 如何将配送区域名称添加到WooCommerce管理订单列表中的新列,wordpress,woocommerce,backend,shipping,orders,Wordpress,Woocommerce,Backend,Shipping,Orders,我想在WooCommerce中的订单概览上显示装运区名称 这显示了订单概述 这将显示我要显示的装运区名称 我已经读到,我可以用我自己的插件,尝试和失败,或者在我的函数中使用过滤器 我找到了这个过滤器,将日期添加到相同的订单屏幕 我如何调整此项以显示装运区 到目前为止,我的代码是: add_action('manage_posts_custom_column'、'misha_date_clmn'); 函数misha_date_clmn($column_name){ 全球$员额; 如

我想在WooCommerce中的订单概览上显示装运区名称

这显示了订单概述


这将显示我要显示的装运区名称


我已经读到,我可以用我自己的插件,尝试和失败,或者在我的函数中使用过滤器

我找到了这个过滤器,将日期添加到相同的订单屏幕

我如何调整此项以显示装运区


到目前为止,我的代码是:

add_action('manage_posts_custom_column'、'misha_date_clmn');
函数misha_date_clmn($column_name){
全球$员额;
如果($column\u name=='order\u date'){
echo strotime($post->post_date)。“
”; } }


尝试此筛选器和操作以在“管理”面板中添加自定义列

// Filter to add custom column to custom post types
add_filter('manage_shop_order_posts_columns', "edit_shop_order_columns");

function edit_shop_order_columns($columns) {
    $columns['shipping_zone'] = "Shipping Zone";
    return $columns;
}

// Action to display data in column
add_action('manage_shop_order_posts_custom_column', "edit_shop_order_columns_data", 10, 2);
function edit_shop_order_columns_data($column, $post_id) {
    $shipping_zone = get_post_meta($post_id, "shipping_zone", true); // Use your logic here to value of shipping zone
    switch ($column) {
        case 'shipping_zone' :
            echo !empty($shipping_zone) ? $shipping_zone : "";
            break;
   }
}
  • 默认情况下,
    shipping\u zone
    不是元密钥

  • 部分基于

所以试试这个吧

//添加标题
函数过滤器\管理\编辑\车间\订单\列($columns){
//添加新列
$columns['shipping_zone']='shipping zone';
返回$columns;
}
添加过滤器('manage\u edit-shop\u order\u columns','filter\u manage\u edit\u shop\u order\u columns',10,1);
//填充该列
功能操作\管理\店铺\订单\发布\自定义\列($column,$post\u id){
//比较
如果($column=='shipping_zone'){
//得到命令
$order=wc\u get\u order($post\u id);
//遍历订单装运项目
foreach($order->get_items('shipping')作为$item_id=>$shipping_item_obj){
$shipping_method_instance_id=$shipping_item_obj->get_instance_id();//实例id
}
//按实例id获取区域
$shipping\u zone=WC\u shipping\u Zones::get\u zone\u by('instance\u id',$shipping\u method\u instance\u id);
//获取区域名称
$current_zone_name=$shipping_zone->get_zone_name();
如果(!空($current\u zone\u name)){
echo$current\u zone\u name;
}
}
}
添加操作('manage_shop_order_posts_custom_column','action_manage_shop_order_posts_custom_column',10,2);

感谢您的快速回复!我将上述内容添加到我的子主题中的functions.php中。但是,尚未在orders中将Shipping_Zone添加到表中。我是否需要调整上述内容?感谢you@user3332692是的,尝试使用相同的代码,并用元键替换shipping_zone。还添加了在functions.php文件中添加的内容我知道shipping_zone不是元键,但我的答案是给他一个基本的想法,如何覆盖column以任何方式使其可排序?感谢you@user3332692等我有时间的时候,我会把它整理好,知道已经有了一些类似的答案,你可以自己开始了。请注意,除了有权接受答案外,你还有权得到答案