创建新订单时,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>';
}
有客户使用虚假地址下订单,而这会显示真实的城市位置。
那么如何显示客户城市?
代码来自:Display the customer IP Address in new order email notification
答案 0 :(得分:1)
您可以通过以下方式添加到客户的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文件中,或者放在任何插件文件中。
经过测试和工作