Un camp propi afecta més que el disseny: es renderitza al navegador, es valida amb PHP, es desa a la comanda i pot enviar-se a correus o sistemes externs. Un error pot aturar la compra o crear-la sense informació necessària.
Conserva el valor sintètic fallit i l’hora. No eliminis el camp fins a saber si el necessiten logística, impostos o compliment.
Determina on s’atura
Envia una vegada amb dades controlades i inspecciona la petició. Comprova si WooCommerce crea la comanda abans de l’error.
Sense comanda i amb missatge de validació apunta al camp. Un 500 apunta a PHP. Una comanda existent sense la dada indica un error de desament o visualització, no de creació.
Consulta la passarel·la abans de repetir un pagament real.
Inspecciona la definició
L’input necessita una clau estable, tipus adequat, etiqueta i condició d’obligatorietat. El seu name ha de coincidir amb la clau llegida per PHP.
$value = isset( $_POST['delivery_note'] )
? sanitize_textarea_field( wp_unslash( $_POST['delivery_note'] ) )
: '';
L’exemple només serveix per a text pla. Dates, checkboxes, identificadors i estructures necessiten validació específica.
No confiïs en un hidden: el client el pot modificar.
Revisa els callbacks de validació
Localitza cada hook i la seva prioritat. Ha de gestionar el camp absent, buit, un array o un tipus inesperat sense provocar un error fatal.
Les condicions han d’utilitzar valors POST actuals. Una instrucció pot ser obligatòria només amb un transport; comparar un ID antic o una etiqueta traduïda pot rebutjar totes les comandes.
Mostra un error útil al client i desa detalls tècnics sense contingut sensible.
Comprova HPOS
Amb High-Performance Order Storage, el codi ha d’utilitzar les API de comandes i hooks compatibles, no assumir que postmeta és el model principal.
$order->update_meta_data( '_delivery_note', $value );
// Desar en el cicle de vida previst pel hook escollit.
No cridis save() repetidament dins de bucles o fases primerenques. Confirma que el hook proporciona un objecte vàlid i s’executa una vegada.
Prova la compatibilitat declarada per l’extensió.
Assaja valors vàlids poc habituals
Prova un opcional buit, accents, apòstrofs, longitud màxima i autocompleció mòbil. Una columna, API o expressió regular estricta pot fallar només amb certs valors.
Defineix un límit visible. No truncis silenciosament informació necessària per preparar la comanda.
Si puja fitxers o conté dades personals, aplica controls de tipus, accés i conservació.
Inspecciona les integracions
El CRM, transport, factures i correu poden assumir que el camp sempre existeix. Un timeout remot no hauria de deixar el client mirant un spinner després del pagament.
Separa la validació síncrona essencial del treball que es pot executar després de crear la comanda. Posa en cua les exportacions no crítiques i alerta l’administrador.
Fes que els reintents siguin idempotents. Si l’API accepta la dada abans d’esgotar el temps, repetir no ha de crear dos enviaments, reserves o etiquetes. Desa un identificador segur i reconcilia l’estat.
Aïlla sense perdre la regla de negoci
Reprodueix a staging amb el mateix checkout i mode d’emmagatzematge. Desactiva només el component o callback implicat i acota entre renderitzat, validació i desament.
Un bypass temporal a producció necessita aprovació si la dada és operativa. Documenta com la recollirà el personal i quan es restaurarà.
No modifiquis el nucli de WooCommerce.
Publica i verifica
Corregeix la clau, el sanejament, la condició, el hook o l’ús de l’API. Afegeix una prova de regressió per al valor exacte que fallava.
Completa comandes de convidat i client amb transports i pagaments pertinents. Confirma un pagament, visibilitat només per a personal autoritzat, correus correctes i recepció per logística.
Comprova també l’edició administrativa, reemborsaments i exportacions que consumeixin la metadada. El valor ha de conservar el significat a HPOS, plantilles i integracions.
El manteniment recurrent ha de provar els camps quan canviïn WooCommerce, Checkout Blocks, passarel·la o HPOS. Són codi d’aplicació i necessiten versions, revisió i monitorització.