私はWoocommerceで働いており、注文確認メールを作成しようとしています。確認メールでお客様の名前を取得
それはメールが言いたい:
"こんにちは[顧客名]"
どのようにWoocommerceは、顧客の名前を印刷するのですか?
私はWoocommerceで働いており、注文確認メールを作成しようとしています。確認メールでお客様の名前を取得
それはメールが言いたい:
"こんにちは[顧客名]"
どのようにWoocommerceは、顧客の名前を印刷するのですか?
注文オブジェクトが必要なので、使用しているフックによってはそこにあるはずです。
add_action('woocommerce_order_status_completed','my_woo_email');
function my_woo_email($order_id){
$order = new WC_Order($order_id);
$to = $order->billing_email;
$subject = 'this is my subject';
$message = 'Hi '.$order->billing_first_name.' '.$order->billing_email;$order->billing_last_name.', thanks for the order!';
woocommerce_mail($to, $subject, $message, $headers = "Content-Type: text/htmlrn", $attachments = "")
}
これはテストされていないですが、あなたは$order
オブジェクト、このようなものから顧客データを取得することができ
を始める必要があります。このような何かを試してみてください。
$customer = get_userdata($order->get_customer_id());
$name = $customer->display_name;
ここWP_Query
ループ内WooCommerceの顧客情報の束を取得する私のスターター例です:
$args = array(
'post_status' => 'any',
'post_type' => 'shop_order',
'posts_per_page' => -1,
'order' => 'ASC'
);
$query = new WP_Query($args);
while ($query->have_posts()) {
$query->the_post();
$order = new WC_Order($query->post->ID);
echo $order->billing_address_1;
echo $order->billing_address_2;
echo $order->billing_city;
echo $order->billing_company;
echo $order->billing_country;
echo $order->billing_email;
echo $order->billing_first_name;
echo $order->billing_last_name;
echo $order->billing_phone;
echo $order->billing_postcode;
echo $order->billing_state;
echo $order->cart_discount;
echo $order->cart_discount_tax;
echo $order->customer_ip_address;
echo $order->customer_user;
echo $order->customer_user_agent;
echo $order->order_currency;
echo $order->order_discount;
echo $order->order_key;
echo $order->order_shipping;
echo $order->order_shipping_tax;
echo $order->order_tax;
echo $order->order_total;
echo $order->payment_method;
echo $order->payment_method_title;
echo $order->shipping_address_1;
echo $order->shipping_address_2;
echo $order->shipping_city;
echo $order->shipping_company;
echo $order->shipping_country;
echo $order->shipping_first_name;
echo $order->shipping_last_name;
echo $order->shipping_method_title;
echo $order->shipping_postcode;
echo $order->shipping_state;
}
wp_reset_postdata();
うまくいけば、これは他の誰かのために参考になります。 WooCommerceのよう
は、前の回答で提案されているように$order
オブジェクトのプロパティに直接アクセスしてはならないから3.x。正しい方法は次のとおりです。
echo 'Hi ' . $order->get_billing_first_name() . ' ' . $order->get_billing_last_name();
質問を投稿するときは、調査作業を行う必要があります。[質問] 。 。お気に入りのコードエディタにプラグインフォルダをドロップし、「確認メール」をグローバルに検索して、ここに結果を投稿してください。たぶん機能名が存在する解決策につながるかもしれません。 – brasofilo