script queda plugin formulario example error desde crear cero cargando php wordpress woocommerce

php - queda - Wordpress Woocommerce obtiene valor del campo de envío personalizado(AJAX)



formulario ajax wordpress (2)

Aquí hay un complemento llamado Checkout Field Editor para Woocommerce.

https://docs.woocommerce.com/document/checkout-field-editor/

Parece que ese complemento cuesta $ 49 por una licencia de sitio único.

La otra opción es codificarlo usted mismo. Aquí hay un tutorial.

https://docs.woocommerce.com/document/tutorial-customising-checkout-fields-using-actions-and-filters/

Así que tengo un comercio electrónico usando woocommerce y utilizo el envío personalizado para la tarifa de envío de seguimiento. Y ya agregué nuevos datos de entrada (seleccionar). como puedes ver en la imagen de abajo:

// Hook in add_filter(''woocommerce_checkout_fields'', ''custom_override_checkout_fields''); // Our hooked in function - $fields is passed via the filter! function custom_override_checkout_fields($fields) { $fields[''billing''][''billing_city''] = array( ''type'' => ''select'', ''label'' => __(''Kota / Kabupaten'', ''woocommerce''), ''required'' => true, ''class'' => array(''form-row-wide'', ''address-field''), ''clear'' => true, ''options'' => array( '''' => ''Pilih Kota / Kabupaten'' ) ); $fields[''shipping''][''shipping_city''] = array( ''type'' => ''select'', ''label'' => __(''Kota / Kabupaten'', ''woocommerce''), ''required'' => true, ''class'' => array(''form-row-wide'', ''address-field''), ''clear'' => true, ''options'' => array( '''' => ''Pilih Kota / Kabupaten'' ) ); $fields[''billing''][''billing_subdistrict''] = array( ''type'' => ''select'', ''label'' => __(''Kecamatan'', ''woocommerce''), ''required'' => true, ''class'' => array(''form-row-wide'', ''address-field''), ''clear'' => true, ''options'' => array( '''' => ''Pilih Kecamatan'' ) ); $fields[''shipping''][''shipping_subdistrict''] = array( ''type'' => ''select'', ''label'' => __(''Kecamatan'', ''woocommerce''), ''required'' => true, ''class'' => array(''form-row-wide'', ''address-field''), ''clear'' => true, ''options'' => array( '''' => ''Pilih Kecamatan'' ) ); return $fields; }

Los datos predeterminados de Woocommerce tenían la dirección_1, la dirección_2, el país, el estado, la ciudad, pero necesito un dato más llamado subdistrito. No necesito guardar esos datos (subdistrito). Pero necesito usar ese valor como parámetro para la tarifa de envío de seguimiento.

Ya creo una nueva clase-custom-shipping-delivery.php. y ya me aseguro de que la función funcione perfectamente porque ya intento establecer manualmente los datos de $ subdistrict.

//custom-shipping.php $province = $package[''destination''][''state'']; $city = $package[''destination''][''city'']; $subdistrict= ''something''; //How to get the data from custom field (ajax) //because I need to see the shipping fee result before Checkout (and update it to add rate) $destination_code = $this->getDestinationCode($province,$city,$subdistrict); $ongkir = $this->cek_ongkir($origin,$destination_code,$weight); //print_r(); // send the final rate to the user. $this->add_rate(array( ''id'' => $this->id, ''label'' => $this->title, ''cost'' => $ongkir ));

Resumen:

Cómo obtener el valor del subdistrito Seleccione el tipo de entrada (en la página de pago)?

Lo siento, solo edité de otra persona el trabajo, así que no entiendo ese código en absoluto. Pero creo que se olvidaron de obtener ese valor porque solo lo codifican y yo soy un novato en wordpress, así que no sé cómo pasar los datos en el formulario de pago.


Después de buscar la respuesta por un tiempo, obtengo la respuesta.

Por lo tanto, para resumirlo: Por encima de la respuesta, use la sesión para obtener los datos del envío del campo personalizado (ajax). Entonces cuando se ejecuta AJAX. Envío el valor del campo ''subdistrict'' para funcionar y guardarlo en la sesión.

function ajax_process($subdistrict){ //some code session_start(); $_SESSION[''subdistrict''] = $subdistrict; }

luego, para obtener los datos de la sesión de otra función, ejecuto este código:

@session_start(); $subdistrict = $_SESSION[''subdistrict''];

para obtener más información, obtengo la respuesta de esto:

http://phpwpinfo.com/how-to-update-shipping-cost-in-cart-dynamically-based-on-a-custom-field-in-woocommerce/