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

问题描述 投票:-1回答:2

I am able to update status using this code 在此图像中突出显示的文本是当前登录用户的用户名,当我从仪表板更改状态时它显示了我的名字,但是当我使用代码更改状态时,它不会显示任何名称。

我想要用户名应该在这个截图中显示:

Red boxed note

php wordpress woocommerce orders
2个回答
0
投票
add_filter('woocommerce_new_order_note_data', 'modify_added_by');

function modify_added_by($args) {

    $user = get_user_by('id', get_current_user_id());
    $comment_author = $user->display_name;
    $comment_author_email = $user->user_email;
    $args['comment_author'] = $comment_author;
    $args['comment_author_email'] = $comment_author_email;
}

试试这个代码


0
投票

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

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文件中。经过测试和工作。

相关主题:Add the Shop Manager username to Woocommerce Admin Order notes

© www.soinside.com 2019 - 2024. All rights reserved.