我已在我的woocommerce结帐页面添加了自定义结帐字段。
add_filter( 'woocommerce_checkout_fields' , 'dropdown' );
function dropdown( $fields ) {
$fields['billing']['ilce'] = array(
'label' => __('İlçe', 'woocommerce'),
'placeholder' => _x('İlçe', 'placeholder', 'woocommerce'),
'required' => true,
'class' => array(
'form-row-wide',
'update_totals_on_change'
),
'clear' => true,
'id' => 'ilcepicker',
'type' => 'select',
'options' => array(
'Ataşehir' => __('Ataşehir', 'woocommerce' ),
'Şişli' => __('Şişli', 'woocommerce' )
)//end of options
);
return $fields;
}
我想根据从我的自定义字段中选择的选项更改送货方式。我怎样才能实现它?我找不到办法。
答案 0 :(得分:0)
我还没有尝试过,但可以给出一些你可以尝试的指示。使用jquery查找所选值并将其发送到woocommerce ajax功能
function woocommerce_add_gift_box() {
if (is_checkout()) {
?>
<script type="text/javascript">
jQuery( document ).ready(function( $ ) {
$('#selectedfield').click(function(){
jQuery('body').trigger('update_checkout');
});
});
</script>
<?php
}
}
Ajax将返回一个后期数据值
if ( ! $_POST || ( is_admin() && ! is_ajax() ) ) {
return;
}
if ( isset( $_POST['post_data'] ) ) {
parse_str( $_POST['post_data'], $post_data );
} else {
$post_data = $_POST; // fallback for final checkout (non-ajax)
}
$varField = $post_data['selectedfield'];
您可以使用此方法修改运输方式。使用if条件。
希望这有帮助。