注文受信ページにカスタムフィールドを表示するには、 woocommerce_thankyou
フックを使用する必要があります。ここで
コードです:
// define the woocommerce_thankyou callback
function action_woocommerce_thankyou($order_id)
{
$my_custom_field = get_post_meta($order_id, '_billing_my_field', TRUE);
}
// add the action
add_action('woocommerce_thankyou', 'action_woocommerce_thankyou', 10, 1);
UPDAREDこのセクション投稿者コメント
後のあなたは woocommerce_email_customer_details
フックを使用する必要がWooCommerce電子メールでカスタム課金フィールドを追加します;これはお客様の詳細の前にちょうど と表示されます。ここで
コードです:
add_filter('woocommerce_email_customer_details', 'custom_woocommerce_email_order_meta_fields', 10, 3);
function custom_woocommerce_email_order_meta_fields($order, $sent_to_admin, $plain_text)
{
$_billing_my_field = get_post_meta($order->id, '_billing_my_field', true);
if ($plain_text)
{
echo 'My field is ' . $_billing_my_field;
}
else
{
echo '<p>My field is ' . $_billing_my_field . '</p>';
}
}
すべてのコードは、あなたのアクティブな子テーマ(またはテーマ)のfunction.phpファイルに入るか、また、どのプラグイン・ファイルでは。
注意してください:私はあなたが
woocommerce_checkout_fields
フックを使用して
$fields['billing']['billing_my_field']
としてカスタム課金フィールドが追加されていることを想定している
- 。
- すべてのコードがテストされ、完全に機能します。
ありがとう@Raunak Gupta!最初の部分は働いた。しかし、後半には顧客の詳細セクションに表示したいと思っています。それから私はGoogleでこのhttps://docs.woocommerce.com/wc-apidocs/source-class-WC_Emails.html#101-125を見つけました。私は、変更またはフィルタリングする必要があると思いますか? 'public function customer_details()'、どうすればできますか? – norixxx
ようこそ、それは私の答えを受け入れ、upvoteそれを助ける場合。 –
コメントを少し編集します。 – norixxx