1

(無料のプラグイン)を使用woocommerceしています.請求フィールドにカスタムフィールドを1つ追加しようとしています..

ここにあります:

// ADDED HOW YOU GOT TO KNOW ABOUT OUR SERVICE FIELD
add_filter( 'woocommerce_checkout_fields' , 'About_Our_Service' );

// Our hooked in function - $fields is passed via the filter!
function About_Our_Service( $fields ) {
     $fields['billing']['billing_meat'] = array(
    'label'       => __('How you Got to Know About Our Service?', 'woocommerce'),
    'placeholder' => _x('', 'placeholder', 'woocommerce'),
    'required'    => false,
    'clear'       => false,
    'type'        => 'select',
    'options'     => array(        
        'google-ads' => __('Google', 'woocommerce' ),
        'google-search' => __('Yahoo', 'woocommerce' ),
        'warrior-forum' => __('Bing', 'woocommerce' ),
        'facebook' => __('Facebook', 'woocommerce' ),
        'other' => __('Other', 'woocommerce' ),
        )
    );

     return $fields;
}

問題は、請求フィールドに追加されたカスタム フィールドの値をメールで取得できないことです.. 既に使用している方なら誰でもwoocommerce、これについて私を助けることができます... ?

チェックアウトに追加されたカスタム フィールドをいくつか作成しました (ただし、これらはコア フィールドと一緒に追加されません)。これらのフィールドについては、メールで値を取得できます。

ところで、私はこのスレッドをチェックしました:しかし、メールに関連する情報はあまりありませんでした..

親切に誰かこれを調べてください..

4

2 に答える 2

1

将来の読者のために、カスタム請求/配送フィールドは、注文投稿の投稿メタとして保存されます。get_post_meta()したがって、一般的には、典型的な WordPress関数でそれらを取得できます。

しかし、WooCommerce 2.2 では、WC が電子メールのリストとして表示するフィールドの配列にフィールド名を直接渡すことができるため、その必要はありません。

// pre-WooCommerce 2.3
function kia_email_order_meta_keys( $keys ) {
    $keys['Some field'] = '_some_field';
    return $keys;
}
add_filter('woocommerce_email_order_meta_keys', 'kia_email_order_meta_keys');

このメソッドはバージョン 2.3 で非推奨になったため、おそらく翻訳が改善される可能性があります。2.3 以降では、別のフィルターをターゲットにして、わずかに異なるデータを送信する必要があります。

// WooCommerce 2.3+
function kia_email_order_meta_fields( $fields, $sent_to_admin, $order ) {
    $fields['some_field'] = array(
                'label' => __( 'Some field', 'my-plugin-textdomain' ),
                'value' => get_post_meta( $order->id, '_some_field', true );
            );
    return $fields;
}
add_filter('woocommerce_email_order_meta_fields', 'kia_email_order_meta_keys', 10, 3 );

WooCommerce チェックアウト フィールドのカスタマイズに関するチュートリアルを書きました

于 2014-10-08T08:43:32.067 に答える
0

コーデックスのこの答えは、この目的のために特別に意図されていると思います:

http://wcdocs.woothemes.com/snippets/add-a-custom-field-in-an-order-to-the-emails

私はこれを自分で実装していませんが、おそらくあなたのベストショットです。

于 2012-12-24T17:06:20.343 に答える