在新订单邮件通知中显示客户城市

Display the customer city in new order email notification

创建新订单时,woocommerce 会向管理员发送一封电子邮件,我希望它也能在电子邮件中发送客户的城市位置。

在 function.php 文件中添加此代码将仅显示需要额外步骤才能打开浏览器并搜索 IP 位置以查找城市的 IP:

add_action('woocommerce_email_customer_details',    'send_customer_ip_adress', 10, 4);
function send_customer_ip_adress($order, $sent_to_admin, $plain_text, $email){

// Just for admin new order notification
if( 'new_order' == $email->id )
    echo '<br><p><strong>Customer IP address:</strong> '. get_post_meta( $order->id, '_customer_ip_address', true ).'</p>';
} 

有些客户使用虚假地址下虚假订单,而这将显示真实的城市位置。

那么如何显示客户城市呢?

代码来自:

您也可以添加到客户的 IP 地址,他的账单城市,这样:

add_action( 'woocommerce_email_customer_details', 'send_customer_city', 10, 4 );
function send_customer_city( $order, $sent_to_admin, $plain_text, $email ){

    // Just for admin new order notification
    if( 'new_order' == $email->id ){
        echo '<br>
        <p><strong>'.__('Customer IP address').':</strong> '. get_post_meta( $order->id, '_customer_ip_address', true ).'</p>
        <p><strong>'.__('Customer city').':</strong> '. get_post_meta( $order->get_id(), '_billing_city', true ).'</p>';
    } 
} 

代码进入您的活动子主题(或主题)的 function.php 文件或任何插件文件。

已测试并有效