在Woocommerce管理员订单列表自定义列中显示用户名

阿恩·德·贝尔瑟

我正在尝试制作一个自定义的Woocommerce订单概述列,该列显示WordPress用户。

这是驻留在functions.php文件中的代码

// ADDING A NEW COLUMN
add_filter( 'manage_edit-shop_order_columns', 'k2i_extra_column_eldest_players', 20 );
function k2i_extra_column_eldest_players($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['skb-client'] = __( 'Oudste Speler','theme_domain');
        }
    }
    return $reordered_columns;
}

// Adding custom fields meta data for the column
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 'skb-client' :
            // Get custom post meta data
            $my_var_one = get_post_meta( $post_id, 'user_name', 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;
    }
}

我认为我的错误在于以下代码行:

$my_var_one = get_post_meta( $post_id, 'user_name', true );

元密钥'user_name'可能不是正确的密钥...但是我似乎找不到正确的密钥

任何帮助,将不胜感激。

LoicTheAztec

更新:右侧meta_key获得用户ID在woocommerce订单的_customer_user,所以:

$user_id = get_post_meta( $post_id, '_customer_user', true );

或者,您可以将$the_order全局对象用作:

global $the_order;
$user_id = $the_order->get_customer_id();

从此用户ID获得WordPress用户数据后:

$user_data = get_userdata( $userid );

echo 'Username: ' . $user_data->user_login . "<br>";
echo 'User email: ' . $user_data->user_email . "<br>";
echo 'User roles: ' . implode(', ', $user_data->roles) . "<br>";
echo 'User ID: ' . $user_data->ID . "<br>";
echo 'User full name: ' . $user_data->last_name .  ", " . $user_data->first_name . "<br>";

因此,在您的代码中:

// Adding a custom new column to admin orders list
add_filter( 'manage_edit-shop_order_columns', 'custom_column_eldest_players', 20 );
function custom_column_eldest_players($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['skb-client'] = __( 'Oudste Speler','theme_domain');
        }
    }
    return $reordered_columns;
}

// Adding custom fields meta data for the column
add_action( 'manage_shop_order_posts_custom_column' , 'custom_orders_list_column_content', 20, 2 );
function custom_orders_list_column_content( $column, $post_id )
{
    if ( 'skb-client' != $column ) return;

    global $the_order;

    // Get the customer id
    $user_id = $the_order->get_customer_id();

    if( ! empty($user_id) && $user_id != 0) {
        $user_data = get_userdata( $user_id );
        echo $user_data->user_login; // The WordPress user name
    }
    // Testing (to be removed) - Empty value case
    else
        echo '<small>(<em>Guest</em>)</small>';
}

代码进入您的活动子主题(或活动主题)的function.php文件中。经过测试和工作

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在Woocommerce管理员订单列表自定义列中显示结帐字段值

仅在WooCommerce管理员订单列表自定义列中显示特定订单状态的数据

在Woocommerce管理员订单列表“订单”现有列中添加自定义字段

在WooCommerce订单管理员列表上显示带有自定义用户元的自定义列

Woocommerce 3.3管理员订单列表中的自定义订单状态背景按钮颜色

在WooCommerce管理员订单列表中以批量操作添加自定义取消订单状态

在Woocommerce管理员订单列表上处理多个自定义批量操作

在 WooCommerce 管理订单列表的自定义列中显示私人和客户管理注释

在WordPress的管理员用户列表自定义列中显示用户元数据值

将自定义订单状态添加到WooCommerce管理员订单列表中的过滤器菜单

在 WooCommerce 管理订单列表的自定义列中显示每个订单项目的库存数量

在Woocommerce管理订单列表中显示具有“全部”自定义状态的订单

在Woocommerce管理员,订单和电子邮件中显示自定义付款字段

在Woocommerce管理员订单列表中显示带有作者和日期的订单注释

在WooCommerce管理员订单列表中显示每个订单的变体名称

单击以在WooCommerce管理订单列表中显示文本时隐藏自定义操作按钮

在Woocommerce管理订单列表中添加可排序的自定义列

自定义操作按钮进入WooCommerce管理订单列表上的自定义列

在Woocommerce管理员订单编辑页面中以编程方式添加自定义订单注释

如何在WooCommerce管理员单笔订单中显示自定义结帐账单字段

Woocommerce在管理员订单详细信息上显示自定义字段数据

在Woocommerce管理员订单预览上显示自定义数据

在帐单地址后以WooCommerce管理员订单显示自定义元数据

WooCommerce 管理订单列表中自定义订单状态的操作按钮问题

将Shop Manager用户名添加到Woocommerce管理员订单说明中

在WooCommerce管理员新订单自定义字段上加载用户自定义数据

Django管理员列表视图在自定义列中显示外部URL数据

在 WooCommerce 订单列表中显示 Dokan 自定义订单元数据

在WooCommerce管理员快速订单预览中自定义内容