У меня возникли проблемы со счетом и электронной почтой.
Когда я покупаю товар, я не вижу его номера.Доступна другая информация, такая как личная информация и адрес.
Я использовал этот код, см. Ссылку: Показать или скрыть два поля оформления заказа в Woocommerce
И Iv также поместил другой код, его комбинация.Ниже приведен код, который я использовал в Function.php:
/**
* Simple checkout field addition example.
*
* @param array $fields List of existing billing fields.
* @return array List of modified billing fields.
*/
function jeroensormani_add_checkout_fields( $fields ) {
$fields['billing_housenumber'] = array(
'label' => __( 'Huisnummer' ),
'placeholder' => 'Huisnummer*',
'type' => 'text',
'class' => array( 'form-row-last' ),
'required' => true,
);
return $fields;
}
add_filter( 'woocommerce_billing_fields', 'jeroensormani_add_checkout_fields' );
// Reorder Checkout Fields
add_filter('woocommerce_checkout_fields','reorder_woo_fields');
function reorder_woo_fields($fields) {
$fields2['billing']['billing_email'] = $fields['billing']['billing_email'];
$fields2['billing']['billing_first_name'] = $fields['billing']['billing_first_name'];
$fields2['billing']['billing_last_name'] = $fields['billing']['billing_last_name'];
$fields2['billing']['billing_postcode'] = $fields['billing']['billing_postcode'];
$fields2['billing']['billing_housenumber'] = $fields['billing']['billing_housenumber'];
$fields2['billing']['billing_address_1'] = $fields['billing']['billing_address_1'];
$fields2['billing']['billing_city'] = $fields['billing']['billing_city'];
$fields2['billing']['billing_state'] = $fields['billing']['billing_state'];
// Add full width Classes and Clears to Adjustments
$fields2['billing']['billing_email'] = array(
'label' => __('Email', 'woocommerce'),
'placeholder' => 'Email*',
'required' => true,
'class' => array('form-row-wide'),
'required' => true,
'clear' => true
);
$fields2['billing']['billing_first_name'] = array(
'label' => __('Naam', 'woocommerce'),
'placeholder' => 'Voornaam*',
'required' => true,
'class' => array('form-row-first'),
'required' => true,
'clear' => true
);
$fields2['billing']['billing_last_name'] = array(
'label' => __('Achternaam', 'woocommerce'),
'placeholder' => 'Achternaam*',
'required' => true,
'class' => array('form-row-last'),
'required' => true,
'clear' => true
);
$fields2['billing']['billing_address_1'] = array(
'label' => __('', 'woocommerce'),
'placeholder' => 'Straatnaam*',
'required' => true,
'class' => array('form-row-wide'),
'required' => true,
'clear' => true
);
$fields2['billing']['billing_postcode'] = array(
'label' => __('Postcode', 'woocommerce'),
'placeholder' => 'Postcode*',
'required' => true,
'class' => array('form-row-first'),
'required' => true,
'clear' => true
);
$fields2['billing']['billing_city'] = array(
'label' => __('', 'woocommerce'),
'placeholder' => 'Woonplaats*',
'required' => true,
'class' => array('form-row-wide'),
'required' => true,
'clear' => true
);
return $fields2;
}
/**
* @snippet Add a Checkbox to Hide/Show Checkout Field - WooCommerce
* @how-to Watch tutorial @ https://businessbloomer.com/?p=19055
* @sourcecode https://businessbloomer.com/?p=21948
* @author Rodolfo Melogli
* @compatible WC 2.6.14, WP 4.7.2, PHP 5.5.9
*/
add_filter( 'woocommerce_checkout_fields' , 'bbloomer_display_checkbox_and_new_checkout_field' );
function bbloomer_display_checkbox_and_new_checkout_field( $fields ) {
$fields2['billing']['billing_city'] = array(
'label' => __('', 'woocommerce'),
'placeholder' => 'Woonplaats*',
'required' => true,
'class' => array('form-row-wide'),
'required' => true,
'clear' => true
);
return $fields;
}
add_action( 'wp_footer', 'custom_checkout_script' );
function custom_checkout_script() {
// Only checkout page
if( ! ( is_checkout() && ! is_wc_endpoint_url() ) ) return;
// CSS Styles (Hidding fields)
?>
<style>
#billing_city_field, #billing_address_1_field { display:none !important;}
#billing_city_field.on ,#billing_address_1_field.on { display:block!important;}
</style>
<?php
// Jquery script
?>
<script type="text/javascript">
jQuery( function($){
var a = 'input#billing_housenumber',
b = 'input#billing_postcode',
c = '#billing_city_field,#billing_address_1_field';
// On start
if( $(a).val() != '' && $(b).val() != '' && ! $(c).hasClass('on') ){
$(c).css('display','none !important').addClass('on').show();
console.log('start');
}
// On change: If housenumber and postcode fields are filled, we display other hidden fields
$(a+','+b).on( 'change', function(){
if ( $(a).val() != '' && $(b).val() != '' && ! $(c).hasClass('on') ) {
$(c).css('display','none !important').addClass('on').show( 500 );
console.log('change - in');
} else if( ( $(a).val() == '' || $(b).val() == '' ) && $(c).hasClass('on') ) {
$(c).hide( 200, function(){
$(c).removeClass('on').css('display','block')
});
console.log('change - out');
}
});
});
</script>
<?php
}