我们从竞争中不断收到虚假订单,我们需要查看客户下订单的IP背后的真实城市,因此我们希望在每笔订单收到的电子邮件中看到一个名为“真实城市”的字段。到目前为止,我们设法通过在function.php上添加此行来获取IP,但是打开浏览器并手动搜索城市以查看是否与客户订购的城市匹配非常耗时。您可能会注意到,我们添加了真实的城市线,但是它仅提取客户端选择的内容,因此效果不好,我能否获得基于IP的城市名?谢谢!
function send_customer_city( $order, $sent_to_admin, $plain_text, $email ){
if( ‘new_order’ == $email->id ){
echo ‘<br>
<p>‘.__(‘Client IP’).’: ‘. get_post_meta( $order->id, ‘_customer_ip_address’, true ).'</p>
<p>‘.__(‘Real City’).’: ‘. get_post_meta( $order->get_id(), ‘_billing_city’, true ).'</p>’;
}
}
答案 0 :(得分:0)
代替此操作,您可以做一件事 您可以在结帐单上放置一个隐藏文件,并根据IP / LAT-LONG设置城市 使用任何API。使用woocommerce挂钩 woocommerce_after_checkout_billing_form
下订单时您还可以获取此归档数据,以检查这是真实订单还是假订单?
OR
您还可以在下订单前进行检查,以避免使用 woocommerce_review_order_before_submit 或任何其他挂钩