/** * Standard Address Fields. * Params are used for filter only. * @param integer $user_id * @param boolean $shipping * @return array */ public static function get_standard_address_fields($required = true, $user_id = 0) { $fields = array(); $fields['first_name'] = array('weight' => 50, 'label' => __('First Name', 'sprout-invoices'), 'placeholder' => __('First Name', 'sprout-invoices'), 'type' => 'text', 'required' => $required); $fields['last_name'] = array('weight' => 51, 'label' => __('Last Name', 'sprout-invoices'), 'placeholder' => __('Last Name', 'sprout-invoices'), 'type' => 'text', 'required' => $required); $fields['street'] = array('weight' => 60, 'label' => __('Street Address', 'sprout-invoices'), 'placeholder' => __('Street Address', 'sprout-invoices'), 'type' => 'textarea', 'rows' => 2, 'required' => $required); $fields['city'] = array('weight' => 65, 'label' => __('City', 'sprout-invoices'), 'placeholder' => __('City', 'sprout-invoices'), 'type' => 'text', 'required' => $required); $fields['postal_code'] = array('weight' => 70, 'label' => __('ZIP Code', 'sprout-invoices'), 'placeholder' => __('ZIP Code', 'sprout-invoices'), 'type' => 'text', 'required' => $required); $fields['zone'] = array('weight' => 75, 'label' => __('State', 'sprout-invoices'), 'type' => 'select-state', 'options' => SI_Countries_States::get_state_options(array('include_option_none' => ' -- ' . __('State', 'sprout-invoices') . ' -- ')), 'attributes' => array('class' => 'select2'), 'required' => $required); // FUTURE: Add some JavaScript to switch between select box/text-field depending on country $fields['country'] = array('weight' => 80, 'label' => __('Country', 'sprout-invoices'), 'type' => 'select', 'required' => $required, 'options' => SI_Countries_States::get_country_options(array('include_option_none' => ' -- ' . __('Country', 'sprout-invoices') . ' -- ')), 'attributes' => array('class' => 'select2')); $billing_fields = apply_filters('si_get_standard_address_fields', $fields, $required, $user_id); uasort($billing_fields, array(__CLASS__, 'sort_by_weight')); return $billing_fields; }