woocommerce客户城市将通过"新订单"电子邮件发送



我们不断从竞争对手那里收到虚假订单,我们需要看到客户下订单的IP背后的真实城市,所以我们希望在收到的每笔订单的电子邮件中看到一个名为"真实城市"的字段。到目前为止,我们设法通过在功能上添加此行来获取 IP.php但是打开浏览器并手动搜索城市以查看是否与客户订单城市匹配非常耗时。您可能会注意到,我们添加了真实的城市线,但它只提取了客户端选择的内容,所以不好,我可以根据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>’;
}
}

代替这样做 你可以做一件事 您可以在结帐表格上放置一个隐藏的文件,并根据IP/纬度设置城市 使用任何 API。使用WooCommerce钩子woocommerce_after_checkout_billing_form

在下订单时,您也可以获取此归档数据,以检查这是真实的订单还是假的?

您也可以在下订单之前检查这一点,以避免使用woocommerce_review_order_before_submit或任何其他钩子创建虚假订单

最新更新