Housenumber отсутствует в счете и электронной почте (WooCommerce) - PullRequest
0 голосов
/ 02 декабря 2018

У меня возникли проблемы со счетом и электронной почтой.

Когда я покупаю товар, я не вижу его номера.Доступна другая информация, такая как личная информация и адрес.

Я использовал этот код, см. Ссылку: Показать или скрыть два поля оформления заказа в 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
}
...