Отображение города клиента в уведомлении о новом заказе

Когда будет создан новый заказ, 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-адрес клиента в уведомлении о новом заказе по электронной почте

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 вашей активной дочерней темы (или темы) или также в любой файл плагина.

Проверено и работает

Другие вопросы по тегам