Hola, ¿qué respuestas necesitas?
Imprimir

Poner NIF/CIF woocommerce sin plugins

				
					// 1. Añadir campo NIF/CIF al formulario de pago
function agregar_campo_nif_cif( $fields ) {
    $fields['billing']['billing_wooccm11'] = array(
        'type'        => 'text',
        'label'       => __('NIF/CIF', 'woocommerce'),
        'placeholder' => __('Introduce tu NIF o CIF', 'woocommerce'),
        'required'    => true, // Hacer obligatorio
        'class'       => array('form-row-wide'),
        'clear'       => true,
		'priority'    => 25 // 👈 Puedes ajustar este número
    );
    return $fields;
}
add_filter( 'woocommerce_checkout_fields', 'agregar_campo_nif_cif' );

// 2. Validar campo NIF/CIF (asegurarse de que no esté vacío)
function validar_campo_nif_cif() {
    if ( empty( $_POST['billing_wooccm11'] ) ) {
        wc_add_notice( __( 'El campo NIF/CIF es obligatorio.', 'woocommerce' ), 'error' );
    }
}
add_action( 'woocommerce_checkout_process', 'validar_campo_nif_cif' );

// 3. Guardar NIF/CIF en los metadatos del pedido
function guardar_nif_cif_en_pedido( $order_id ) {
    if ( ! empty( $_POST['billing_wooccm11'] ) ) {
        update_post_meta( $order_id, '_billing_wooccm11', sanitize_text_field( $_POST['billing_wooccm11'] ) );
    }
}
add_action( 'woocommerce_checkout_update_order_meta', 'guardar_nif_cif_en_pedido' );

// 4. Mostrar NIF/CIF en el correo de nuevo pedido al administrador
function mostrar_nif_cif_en_correo_admin( $order, $sent_to_admin, $plain_text, $email ) {
    $nif = get_post_meta( $order->get_id(), '_billing_wooccm11', true );

    if ( $nif ) {
        echo '<p><strong>NIF/CIF:</strong> ' . esc_html( $nif ) . '</p>';
    }
}
add_action( 'woocommerce_email_order_meta', 'mostrar_nif_cif_en_correo_admin', 20, 4 );