如何在WooCommerce管理订单列表中的买家名称后添加第一个订单消息 [英] How to add a first order message after the buyer name in WooCommerce admin order list

查看:76
本文介绍了如何在WooCommerce管理订单列表中的买家名称后添加第一个订单消息的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

意图表示在附加的图像上。实质上要显示在WooCommerce管理后端订单页面列表上。如果订单来自新客户(如果这是他的第一个订单),则管理员可以知道这是商店中的个人第一个订单。

我已经计算出,我应该能够使用以下代码片段检查它是否是第一个订单。

function new_customer_warning( $document_type, $order )
{
    if( !empty($order) && $document_type == 'invoice' ) {
        if( $order->get_user_id() != 0 ) {
            $customer_orders = wc_get_customer_order_count( $order->get_user_id() );

            if( $customer_orders == 1 ) {
                echo '<tr><th><strong>New customer!</strong></th><td></td></tr>';
            }
        }
    }
}

但是,我找不到管理订单页面的挂钩,也找不到如何在那里显示预期新订单警告的挂钩。

作为替代方案(或最好将其同时放在两个位置),可以在订单详细信息页面中直接回显";New Customer&Quot;消息。

此图像在两个位置显示了此概念的示例:

推荐答案

您可以使用manage_shop_order_posts_custom_columnwoocommerce_admin_order_data_after_order_details操作挂钩

// Admin order list
function action_manage_shop_order_posts_custom_column( $column, $post_id ) {    
    // Compare
    if ( $column == 'order_number' ) {
        // Get order
        $order = wc_get_order( $post_id );
        
        // Getting the user ID
        $user_id = $order->get_user_id();

        // User ID exists
        if ( $user_id >= 1 ) {
            // Get the user order count
            $order_count = wc_get_customer_order_count( $user_id );
            
            // First order
            if ( $order_count == 1 ) {
                echo '&nbsp;<span>&ndash; ' .  __( 'New customer!', 'woocommerce' ) . '</span>';                
            }
        }
    }
}
add_action( 'manage_shop_order_posts_custom_column', 'action_manage_shop_order_posts_custom_column', 20, 2 );

// Order details page
function action_woocommerce_admin_order_data_after_order_details( $order ) {
    // Getting the user ID
    $user_id = $order->get_user_id();

    // User ID exists
    if ( $user_id >= 1 ) {
        // Get the user order count
        $order_count = wc_get_customer_order_count( $user_id );
        
        // First order
        if ( $order_count == 1 ) {
            echo '<h3>' .  __( 'New customer!', 'woocommerce' ) . '</h3>';              
        }
    }
}
add_action( 'woocommerce_admin_order_data_after_order_details', 'action_woocommerce_admin_order_data_after_order_details', 10, 1 );

这篇关于如何在WooCommerce管理订单列表中的买家名称后添加第一个订单消息的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆