php - Woocommerce rearrange checkout fields -


i have rearranged order fields on woocommerce checkout page function:

    //reorder checkout     add_filter( 'woocommerce_checkout_fields', 'reorder_woo_fields' );      function reorder_woo_fields( $fields ) {     $fields2['billing']['billing_first_name'] = $fields['billing']  ['billing_first_name'];     $fields2['billing']['billing_last_name']  = $fields['billing']['billing_last_name'];     $fields2['billing']['billing_company'] =  $fields['billing']['billing_company'];     $fields2['billing']['billing_address_1']  = $fields['billing']['billing_address_1'];     $fields2['billing']['billing_city']       = $fields['billing']['billing_city'];     $fields2['billing']['billing_postcode']   = $fields['billing']['billing_postcode'];     $fields2['billing']['billing_country']    = $fields['billing']['billing_country'];     $fields2['billing']['billing_email']      = $fields['billing']['billing_email'];     $fields2['billing']['billing_phone']      = $fields['billing']['billing_phone'];      $fields2['shipping']['shipping_first_name'] = $fields['shipping']['shipping_first_name'];     $fields2['shipping']['shipping_last_name'] = $fields['shipping']['shipping_last_name'];     $fields2['shipping']['shipping_company'] =  $fields['shipping']['shipping_company'];     $fields2['shipping']['shipping_address_1'] = $fields['shipping']['shipping_address_1'];     $fields2['shipping']['shipping_city'] = $fields['shipping']['shipping_city'];     $fields2['shipping']['shipping_postcode'] = $fields['shipping']['shipping_postcode'];     $fields2['shipping']['shipping_country'] = $fields['shipping']['shipping_country'];      // add full width classes , clears adjustments         $fields2['billing']['billing_first_name'] = array(         'label' => __('first name', 'woocommerce'),     'class'     => array('form-row-wide'),     'clear'     => true,     'required' => true      );      $fields2['billing']['billing_last_name'] = array(     'label' => __('last name', 'woocommerce'),     'class'     => array('form-row-wide'),     'clear'     => true,         'required' => true      );      $fields2['shipping']['shipping_first_name'] = array(         'label' => __('first name', 'woocommerce'),     'class'     => array('form-row-wide'),     'clear'     => true,     'required' => true      );      $fields2['shipping']['shipping_last_name'] = array(     'label' => __('last name', 'woocommerce'),     'class'     => array('form-row-wide'),     'clear'     => true,         'required' => true      );      return $fields2;      } 

and works, when enabling debug mode getting error on chekcout page: notice: undefined index: order in /html/wordpress/wp-content/plugins/woocommerce/templates/checkout/form-shipping.php on line 58

warning: invalid argument supplied foreach() in /html/wordpress/wp-content/plugins/woocommerce/templates/checkout/form-shipping.php on line 58

can aynone make sense of this?

you can try below code reorder checkout page fields. can chnage order of fields in array.

// billing fields  add_filter("woocommerce_checkout_fields", "new_order_fields");  function new_order_fields($fields) {      $order = array(         "billing_company",          "billing_first_name",          "billing_last_name",          "billing_address_1",          "billing_address_2",          "billing_postcode",          "billing_country",          "billing_email",          "billing_phone"     );     foreach( $order $field ) {         $ordered_fields[$field] = $fields["billing"][$field];     }      $fields["billing"] = $ordered_fields;     return $fields;     }  // shipping fields add_filter("woocommerce_checkout_fields", "new_shiping_order_fields");  function new_shiping_order_fields($fields) {      $order = array(            "shipping_city",          "shipping_postcode",          "shipping_country",             "shipping_first_name",          "shipping_last_name",          "shipping_company",          "shipping_address_1",          "shipping_address_2"      );     foreach( $order $field ) {         $ordered_fields[$field] = $fields["shipping"][$field];     }      $fields["shipping"] = $ordered_fields;     return $fields; } 

Comments

Popular posts from this blog

mysql - Dreamhost PyCharm Django Python 3 Launching a Site -

java - Sending SMS with SMSLib and Web Services -

java - How to resolve The method toString() in the type Object is not applicable for the arguments (InputStream) -