countries->get_shipping_country_states(); if ( isset( $request['billing_state'] ) || isset( $request['shipping_state'] ) ) { foreach ( $states_c['ID'] as $state_key => $state ) { if ( isset( $request['billing_state'] ) && $request['billing_state'] == $state ) { $_POST['billing_state'] = $state_key; } if ( isset( $request['shipping_state'] ) && $request['shipping_state'] == $state ) { $_POST['billing_state'] = $state_key; } } } } public static function states_response( $return ) { if ( isset( $return['ID'] ) && isset( $return['ID']['items'] ) ) { $states_c = WC()->countries->get_shipping_country_states(); $return['ID']['items'] = array(); foreach ( $states_c['ID'] as $state_key => $state ) { $return['ID']['items'][ $state ] = html_entity_decode( $state ); } } return $return; } public static function kota_dependency( $dependency, $key ) { if ( 'billing_kota' === $key ) { $dependency = array( 'on' => 'billing_state' ); } elseif ( 'shipping_kota' === $key ) { $dependency = array( 'on' => 'shipping_state' ); } return $dependency; } public static function city_dependency( $dependency, $key ) { if ( 'billing_city' === $key ) { $dependency = array( 'on' => 'billing_kota' ); } elseif ( 'shipping_city' === $key ) { $dependency = array( 'on' => 'shipping_kota' ); } return $dependency; } /** * @param $fields * @param $section * * @return array|mixed * @internal param array $args * */ public static function indonesia_field( $fields, $section ) { if ( 'billing' === $section || 'shipping' === $section ) { $fields[ $section . '_kota' ]['type'] = 'dependent-select'; $fields[ $section . '_kota' ]['options'] = self::shipping_get_kota(); $fields[ $section . '_kota' ]['dependent'] = true; $fields[ $section . '_city' ]['type'] = 'dependent-select'; $fields[ $section . '_city' ]['options'] = self::shipping_get_kecamatan(); $fields[ $section . '_city' ]['dependent'] = true; } return $fields; } public static function shipping_get_kota() { $datakota = WC_JNE()->shipping->get_datakota(); $result = array(); if ( count( $datakota ) ) { if ( is_array( $datakota ) ) { foreach ( $datakota as $nama_provinsi => $data_kota ) { $result[ $nama_provinsi ] = array( 'items' => array(), ); foreach ( $data_kota as $nama_kota => $data_kecamatan ) { $result[ $nama_provinsi ]['items'][ $nama_kota ] = $nama_kota; } } } } return $result; } public static function shipping_get_kecamatan() { $datakota = WC_JNE()->shipping->get_datakota(); $result = array(); if ( count( $datakota ) ) { if ( is_array( $datakota ) ) { foreach ( $datakota as $nama_provinsi => $data_kota ) { foreach ( $data_kota as $nama_kota => $data_kecamatan ) { $result[ $nama_kota ] = array( 'items' => array(), ); foreach ( $data_kecamatan as $nama_kecamatan => $data_harga ) { $result[ $nama_kota ]['items'][ $nama_kecamatan ] = $nama_kecamatan; } } } } } return $result; } }