首页 > 解决方案 > 订单列表列中的自定义元数据 - woocomerce

问题描述

我正在运行带有终极会员插件的 Wocomerce 商店。它用于生成自定义用户元(我们称之为 ID 买家,存储在 wp-usermeta 元键 Id_buyer 中)。99% 的订单是由填写买家 ID 字段的注册用户发出的。现在 - 我能够使用以下代码在 wp users 列中显示此元数据:

function add_custom_column_name($columns) {
    $columns['ID_buyer'] = 'ID Buyer:';
    return $columns;
}
function show_custom_column_values($value, $column_name, $user_id) {
    if ( 'ID_buyer' == $column_name )
        return get_user_meta( $user_id, 'Id_buyer', true );
    return $value;
}

add_filter('manage_users_columns', 'add_custom_column_name');
add_action('manage_users_custom_column', 'show_custom_column_values', 10, 3);

我想对 woocommerce 订单列表做同样的事情。使其可排序将是一个加号。有什么办法吗?请帮忙!

标签: wordpresswoocommercehook-woocommerce

解决方案


这或多或少是同一件事:

function add_custom_order_column_name($columns) {
    $columns['ID_buyer'] = __('ID Buyer:', 'text-domain');
    return $columns;
}

function show_custom_order_column_values($column) {
    if ( 'ID_buyer' == $column ){
        global $the_order;
        if ($the_order->get_user_id()){
            echo get_user_meta( $the_order->get_user_id(), 'Id_buyer', true );
        }
    }
}

add_filter( 'manage_edit-shop_order_columns', 'add_custom_order_column_name' );
add_action( 'manage_shop_order_posts_custom_column', 'show_custom_order_column_values' );

推荐阅读