(WooCommerceバージョンの追加互換性3+)
アップデート2:は管理新規受注通知用アドレスIPを表示するための条件を追加しました。 $email->id;
によって$email_id
未定義の置き換えあなたは電子メール通知の任意の関連のフックを使用することができますし、WooCommerceメールテンプレートをオーバーライドする必要はありません。例怒鳴るで
、顧客のIPアドレスは、フックusing woocommerce_email_customer_details
、単に顧客の詳細の前に表示されます。
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){
// WC3+ compatibility
$order_id = method_exists($order, 'get_id') ? $order->get_id() : $order->id;
echo '<br><p><strong>Customer IP address:</strong> '. get_post_meta($order_id, '_customer_ip_address', true).'</p>';
}
}
このコードはテストされ、完全に機能しています。
アクティブな子テーマ(またはテーマ)のfunction.phpファイルにコードが入ります。また、任意のプラグインのPHPファイルにもあります。
あなたはこれらのフックは代わりにも使用することができます:**あなたは、これはおそらく**何よりも重要である試みた
woocommerce_email_order_details
woocommerce_email_before_order_table
woocommerce_email_after_order_table woocommerce_email_order_meta
**を** あなたがしようとした。このコードをどこに置くか正確に説明してください*。 (また、あなたは電子メールで 'echo'しないので、問題の可能性があります)。 –
こんにちは@cale_b、私は私の質問を更新しました、コードはadmin-new-order.phpにあります。エコーについては、私が 'echo __( 'Customer IP Address'、 'woocommerce')に変更すると正しいでしょうか。 esc_html(get_post_meta($ order-> id、 '_customer_ip_address'、true))。 "\ n"; ' – davidchannal