2016-12-12 66 views
2

私は私のwoocommerceサイトで2つのカスタマイズを行う必要があります。Woocommerce私は請求先住所と受注メールのフックを探しています

私は2つのメインフックを知る必要があります。誰かが私を助けてください!受注ページ上の請求先住所へ

  1. ショーカスタムフィールドの値が。(私がチェックアウトページにカスタムフィールドを追加しました。)

  2. はあまりにも、顧客のために、受信した電子メールにこれらの値を含める必要があります。

お世話になりました。

答えて

1

注文受信ページにカスタムフィールドを表示するには、 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']としてカスタム課金フィールドが追加されていることを想定している

  • すべてのコードがテストされ、完全に機能します。
+0

ありがとう@Raunak Gupta!最初の部分は働いた。しかし、後半には顧客の詳細セクションに表示したいと思っています。それから私はGoogleでこのhttps://docs.woocommerce.com/wc-apidocs/source-class-WC_Emails.html#101-125を見つけました。私は、変更またはフィルタリングする必要があると思いますか? 'public function customer_details()'、どうすればできますか? – norixxx

+0

ようこそ、それは私の答えを受け入れ、upvoteそれを助ける場合。 –

+0

コメントを少し編集します。 – norixxx

関連する問題