una texto requerido por plugin personalizar para modificar introduce finalizar favor facturación dirección continuar configurar compra campos campo cambiar php mysql wordpress woocommerce custom-fields

php - texto - woocommerce facturación es un campo requerido



Mostrar los valores de la tabla personalizada en el formulario de pago de WooCommerce (1)

Quiero mostrar el valor de la tabla externa en el pago de WooCommerce desde el campo del nombre de la empresa. Podemos crear una tabla externa e insertar parte del nombre de la compañía.

Cuando el usuario se registra en nuestro servicio en el campo de pago, el cliente debe seleccionar el nombre de la empresa en un campo de opciones de selección personalizado. Estos valores se deben mostrar desde una tabla de base de datos personalizada.

¿Cómo puedo conseguir esto?

Gracias por adelantado.


Vamos a desarmar primero el tipo de empresa de campo, y luego a cambiarla a un tipo ''seleccionar'' (selector). A continuación, realizaremos una consulta para obtener todas las opciones clave / valores de su tabla de base de datos personalizada (Digamos que se llama ''wp_companies''):

(SOLO PARA PRUEBAS) NO HAY consulta de bases de datos aquí (con 3 opciones para empresas) :

add_filter( ''woocommerce_default_address_fields'' , ''set_custom_company_checkout_field'' ); function set_custom_company_checkout_field( $address_fields ) { unset($fields[''company''][''type'']); $address_fields[''company''][''type''] = ''select''; $address_fields[''company''][''options''] = array( ''option_1'' => ''Company 1'', ''option_2'' => ''Company 2'', ''option_3'' => ''Company 3'' ); // (optional) // $address_fields[''company''][''default''] = ''Company 1''; return $address_fields; }

Pegue este código en el archivo function.php ubicado en su tema (o tema) hijo activo.

Este código está probado y funciona ...

EL CÓDIGO REAL : Hacer la consulta desde la tabla personalizada de la base de datos (para ser adaptada) :

add_filter( ''woocommerce_default_address_fields'' , ''set_custom_company_checkout_field'' ); function set_custom_company_checkout_field( $address_fields ) { // Unset company field type unset($fields[''company''][''type'']); global $wpdb; $select_options = array(); // @@@ you will need to replace names table and columns and adapt this !!! $query = "SELECT id, company FROM table"; $companies_name = $wpdb->get_results($query); // Storing object $company_name keys/values in $select_options array foreach ( $companies_name as $company_name ) { $key = ''option_''. $company_name->ID; $value = $company_name->custom_column_value; $select_options[$key] = $value ; } $address_fields[''company''][''type''] = ''select''; $address_fields[''company''][''options''] = $select_options; // (optional) // $address_fields[''company''][''default''] = $select_options[''option_1'']; return $address_fields; }

Pegue este código en el archivo function.php ubicado en su tema (o tema) hijo activo.

Referencias