私はWooCommerceチェックアウトページにカスタムフィールドを追加しました。これは顧客がアイテムを収集することを選択できる別のストアのセレクタです。現時点ではチェックアウトページにこのフィールドが表示されています。セレクタの下に情報を追加し、それに応じて送料を更新するためにjQueryを使用しています。WooCommerceのカスタムフィールド値に基づいて要約にテキストを追加します
私が次に行う必要があるのは、顧客の注文電子メールに各ピックアップ場所に関するフィールド+追加情報を追加することです。顧客が場所1を選択した場合はそのインスタンスのための電子メールが表示される必要があります。
納入場所=場所1
アドレス= 16時と午後7時平日の間に123通り
情報=ピックアップ順
を私はどのように配列に "情報"と "アドレス"のフィールドを追加し、電子メールでそれらを呼び出すことができるか分からないだけです。
これは、これまでの私のコードです:
add_filter('woocommerce_checkout_fields' , 'custom_store_pickup_field');
function custom_store_pickup_field($fields) {
$fields['billing']['store_pickup'] = array(
'type' => 'select',
'options' => array(
'option_0'=> 'Please Select a Delivery Option',
'option_1' => 'Delivery',
'option_2' => 'Gym1',
'option_3' => 'Gym2'
),
'label' => __('Store Pick Up Location (Optional)', 'woocommerce'),
'required' => true,
'class' => array('store-pickup form-row-wide'),
'id' => 'store_pickup_val',
'clear' => true
);
return $fields;
}
//* Process the checkout
add_action('woocommerce_checkout_process',
'wps_select_checkout_field_process');
function wps_select_checkout_field_process() {
global $woocommerce;
// Check if set, if its not set add an error.
if ($_POST['store_pickup'] == "option_0")
wc_add_notice('<strong>Please select a Delivery option</strong>', 'error'
);
}
add_action('woocommerce_after_checkout_form', 'gym_opening_hours', 6);
function gym_opening_hours() {
?>
<script type="text/javascript">
jQuery('#store_pickup_val').change(function(){
jQuery('body').trigger('update_checkout');
jQuery(".gym-collection").remove();
if (this.value == 'option_1') {
jQuery('#shipping_method_0_flat_rate1').prop('checked', true);
}
if (this.value == 'option_2') {
jQuery("<p>Order can be collected between 4pm - 7pm on Tuesdays</p>").addClass("gym-collection").insertAfter("#store_pickup_val");
jQuery('#shipping_method_0_local_pickup3').prop('checked', true);
}
if (this.value == 'option_3') {
jQuery("<p>Order can be collected between 4pm - 7pm on Tuesdays</p>").addClass("gym-collection").insertAfter("#store_pickup_val");
jQuery('#shipping_method_0_local_pickup3').prop('checked', true);
}
else {
}
});
</script>
<?php
}
これはまさに私が探していたものです - PHPで条件文を使う - 私はJqueryの条件文を使用して作成された2番目のフィールドを使って作業を終えましたが、あなたの方がはるかにきれいだと思います。私はしばらくすると、プラグインをやり直します。ありがとう! – timboon