Php 我想用用户名更新订单的WooCommerce状态

Php 我想用用户名更新订单的WooCommerce状态,php,wordpress,woocommerce,orders,Php,Wordpress,Woocommerce,Orders,在此图像中,突出显示的文本是当前登录用户的用户名,当我从仪表板更改状态时,它会显示我的名称,但当我使用代码更改状态时,它不会显示任何名称 我希望用户名显示如下屏幕截图所示: 尝试此代码您可以使用以下钩住的函数获取订单注释中的店铺经理用户名: add_filter( 'woocommerce_new_order_note_data', 'filter_woocommerce_new_order_note_data', 10, 2 ); function filter_woocommerce_ne

在此图像中,突出显示的文本是当前登录用户的用户名,当我从仪表板更改状态时,它会显示我的名称,但当我使用代码更改状态时,它不会显示任何名称

我希望用户名显示如下屏幕截图所示:


尝试此代码

您可以使用以下钩住的函数获取订单注释中的店铺经理用户名:

add_filter( 'woocommerce_new_order_note_data', 'filter_woocommerce_new_order_note_data', 10, 2 );
function filter_woocommerce_new_order_note_data( $args, $args2 ) {
    if( ! $args2['is_customer_note'] && is_user_logged_in() && current_user_can( 'edit_shop_order', $args2['order_id'] ) ){
        $user = get_user_by( 'id', get_current_user_id() );
        $args['comment_author'] = $user->display_name;
        $args['comment_author_email'] = $user->user_email;
    }

    return $args;
}
代码进入活动子主题(或活动主题)的function.php文件。测试和工作


相关线程:

欢迎来到StackOverflow!请不要在图像中使用代码!去看看,然后坐飞机。更多链接为什么代码为图像不好/我正在custom.php中执行此状态更新,它直接位于我的wordpress文件夹中。所以我正在尝试从那里更新名称。有什么解决办法吗?@vinayak2910我听不懂你在说什么……你能把它改写并解释得更好一点吗。这对我不起作用,你能再给我一点指导吗?
add_filter( 'woocommerce_new_order_note_data', 'filter_woocommerce_new_order_note_data', 10, 2 );
function filter_woocommerce_new_order_note_data( $args, $args2 ) {
    if( ! $args2['is_customer_note'] && is_user_logged_in() && current_user_can( 'edit_shop_order', $args2['order_id'] ) ){
        $user = get_user_by( 'id', get_current_user_id() );
        $args['comment_author'] = $user->display_name;
        $args['comment_author_email'] = $user->user_email;
    }

    return $args;
}