[WordPress] WooCommerce – 必須チェック アウト フィールドの作成

スポンサーリンク

Question

私の焼かれた商品のサイトにインストールされている WooCommerce と WooCommerce の注文の出荷日と呼ばれる別のプラグインがある

私の顧客は、その項目の配信日を選択することができるだろうので 2 番目のプラグインをインストールしかし、私はしようとしていますフォーム フィールドを必須フィールドにします。これまでのところ、私はちょうど見てフィールドを作ることができるしてきたように、必須のフィールドがないそれは実際に適用されていることを確認する方法を考え出した。任意のアイデアですか?

も、誰もが WooCommerce に精通している場合は、する知っていますかどのようにするようにお客様の注文確認メールでこの配信日付情報を受け取ることができると思いますか?

事前にありがとう !

私のサイト: http://www.monpetitfour.com

答え

そのような何かを試してみてください:

add_action('woocommerce_checkout_process', 'my_custom_checkout_field_process');

function my_custom_checkout_field_process() {
    // You can make your own control here
    if ( ! $_POST[ 'e_deliverydate' ] )
        wc_add_notice( __( 'Please select a delivery date' ), 'error' );
}

、e メールのため、最も簡単なです (私は思うそれはあなたのプラグインによって行われます) メタ値を保存します。あなたの主題でテンプレート メール (顧客処理 order.php) をコピーし、テンプレートを変更する必要があります:

 id, 'custom_field_date', true); 
 // If the plugin is well developed, you can't directly use magic getters : 
 // $delivery_date = $order->e_deliverydate;
 // Can only by use if the post meta start with _
?>
 Your delivery date is 

も使用することができます

date_i18n( woocommerce_date_format(), strtotime( $delivery_date ) );

日付の書式を正しく設定するために

上記のコードでちょうど、プラグインによって使用されるカスタム フィールドの名前を検索する必要があります (既存の注文による検索表 wp_postmeta で簡単に検索することができます (_e_deliverydate をする必要があります).

答え

追加テーマの functions.php ファイルに次のコード

add_action('woocommerce_checkout_process', 'my_custom_checkout_field_process');

function my_custom_checkout_field_process() {
// Check if set, if its not set add an error.
if ( ! $_POST['e_deliverydate'] )
wc_add_notice( __( 'Please select a delivery date.' ), 'error' );
} 
add_filter('woocommerce_email_order_meta_keys', 'my_woocommerce_email_order_meta_keys');

function my_woocommerce_email_order_meta_keys( $keys ) {
    $keys['Delivery Date'] = '_e_deliverydate';
    return $keys;
}

今すぐカスタム フィールドを表示する電子メールを取得するには

http://stackoverflow.com/questions/27084446/woocommerce-making-a-checkout-field-required

スポンサーリンク

Leave a Reply