Servei especialitzat
Suport HPOS per a WooCommerce
High-Performance Order Storage treu les comandes de WooCommerce de les taules d’entrades de WordPress i les porta a taules pròpies. La majoria dels problemes venen de codi que encara llegeix les comandes a l’antiga. Auditem, migrem, verifiquem i arreglem, sense posar en risc les dades de comandes.
Problemes habituals
Problemes d’HPOS que resolem
Codi a mida que llegeix de wp_posts
get_post_meta(), WP_Query i SQL directe sobre comandes retornen buit després del canvi.
Extensions incompatibles
WooCommerce no deixa activar HPOS perquè hi ha plugins actius que no n’han declarat la compatibilitat.
Sincronització que no acaba mai
Comandes pendents de sincronitzar, sincronitzacions de dies o errors durant la migració.
Dades diferents entre taules
Comandes, meta o adreces que no coincideixen entre les taules d’entrades i les de comandes.
Comandes que falten a exportacions i informes
Exportacions, taulers i integracions que encara consulten les taules antigues.
Botigues grans
Migrar centenars de milers de comandes sense afectar una botiga en funcionament.
Què cobreix un encàrrec HPOS
- Auditoria del codi a mida, el tema i les extensions per trobar accessos directes a comandes
- Estat de compatibilitat de cada extensió activa
- Reescriptura del codi incompatible amb l’API CRUD de WooCommerce (
wc_get_orders(),$order->get_meta()) - Un pla de migració amb mode de compatibilitat i sincronització
- Verificació de les dades de comandes abans i després del canvi
- Una via de tornada enrere mentre la sincronització continuï activa
Què reps
- Un informe d’auditoria: què fallarà i per què, amb referències a fitxer i línia
- Codi corregit i compatible amb HPOS
- Una botiga migrada amb les dades de comandes verificades
- Documentació del que ha canviat per a futurs desenvolupadors
Com es fa una migració a HPOS segura
- Auditar. Buscar al tema, als plugins a mida i als snippets accessos directes a comandes:
get_post_meta()oupdate_post_meta()amb IDs de comanda,WP_Queryoget_posts()ambshop_order, i SQL contrawp_postsowp_postmetaper a comandes. - Corregir el codi perquè faci servir l’API CRUD de WooCommerce, i declarar la compatibilitat amb HPOS als plugins a mida.
- Activar el mode de compatibilitat perquè tots dos emmagatzematges es mantinguin sincronitzats, i deixar que la sincronització acabi.
- Verificar que les dades de comandes coincideixen entre emmagatzematges, primer a staging.
- Canviar l’emmagatzematge principal a HPOS, mantenint la sincronització com a xarxa de seguretat.
- Desactivar la sincronització només quan la botiga hagi funcionat correctament durant un temps.
// Abans: falla quan HPOS és l'emmagatzematge principal
$po = get_post_meta( $order_id, '_po_number', true );
// Després: funciona amb tots dos emmagatzematges
$order = wc_get_order( $order_id );
$po = $order ? $order->get_meta( '_po_number' ) : '';Recursos tècnics
Guies sobre HPOS
- WooCommerce / HPOS HPOS a WooCommerce: problemes, migració i codi a mida Què canvia amb HPOS, per què falla el codi a mida i com migrar l’emmagatzematge de comandes amb seguretat.
- WooCommerce / Comandes Problemes amb les comandes de WooCommerce Comandes que falten, totals erronis, estats que no canvien, dades de comandes incoherents.
- WooCommerce / Integracions Problemes d’integració a WooCommerce: REST API, webhooks i sistemes externs Autenticació de la REST API, lliuraments de webhooks, sincronització amb ERP i CRM, temps d’espera i dades duplicades.
FAQ
Preguntes freqüents
HPOS ve activat per defecte?
A les botigues noves, sí: és l’opció per defecte des de WooCommerce 8.2. Les botigues existents mantenen l’emmagatzematge antic en entrades fins que migren.
Podem tornar enrere si alguna cosa va malament?
Mentre el mode de compatibilitat mantingui els dos emmagatzematges sincronitzats, és possible tornar a canviar l’emmagatzematge principal. Per això la sincronització continua activa fins que la botiga ha funcionat correctament amb HPOS durant un temps.
El nostre codi fa servir get_post_meta() sobre comandes. Fallarà?
Quan HPOS sigui l’emmagatzematge principal, sí: llegeix les taules d’entrades, que ja no són la font de la veritat. Fes servir l’objecte de la comanda: wc_get_order( $id )->get_meta( 'clau' ).
$ descriu el problema
Tens un problema amb WooCommerce?Sol·licita una diagnosi.
Explica'ns què falla, què ha canviat darrerament i com afecta el negoci. Revisem cada sol·licitud i et recomanem el pas següent.
No enviïs mai contrasenyes, claus d'API ni dades de targetes a través del formulari.