Saltar al contenido
WooRescueHQ

Servicio especializado

Soporte HPOS para WooCommerce

High-Performance Order Storage saca los pedidos de WooCommerce de las tablas de entradas de WordPress y los lleva a tablas propias. La mayoría de los problemas vienen de código que sigue leyendo los pedidos a la antigua. Auditamos, migramos, verificamos y arreglamos, sin poner en riesgo los datos de pedidos.

Qué cubre un encargo HPOS

  • Auditoría del código a medida, el tema y las extensiones en busca de accesos directos a pedidos
  • Estado de compatibilidad de cada extensión activa
  • Reescritura del código incompatible con la API CRUD de WooCommerce (wc_get_orders(), $order->get_meta())
  • Un plan de migración con modo de compatibilidad y sincronización
  • Verificación de los datos de pedidos antes y después del cambio
  • Una vía de vuelta atrás mientras la sincronización siga activa

Qué recibes

  • Un informe de auditoría: qué fallará y por qué, con referencias a archivo y línea
  • Código corregido y compatible con HPOS
  • Una tienda migrada con los datos de pedidos verificados
  • Documentación de lo que cambió para futuros desarrolladores

Cómo se hace una migración a HPOS segura

  1. Auditar. Buscar en el tema, los plugins a medida y los snippets accesos directos a pedidos: get_post_meta() o update_post_meta() con IDs de pedido, WP_Query o get_posts() con shop_order, y SQL contra wp_posts o wp_postmeta para pedidos.
  2. Corregir el código para que use la API CRUD de WooCommerce, y declarar la compatibilidad con HPOS en los plugins a medida.
  3. Activar el modo de compatibilidad para que ambos almacenamientos se mantengan sincronizados, y dejar que la sincronización termine.
  4. Verificar que los datos de pedidos coinciden entre almacenamientos, primero en staging.
  5. Cambiar el almacenamiento principal a HPOS, manteniendo la sincronización como red de seguridad.
  6. Desactivar la sincronización solo cuando la tienda haya funcionado correctamente durante un tiempo.
PHPplugin-a-medida.php
// Antes: falla cuando HPOS es el almacenamiento principal
$po = get_post_meta( $order_id, '_po_number', true );

// Después: funciona con ambos almacenamientos
$order = wc_get_order( $order_id );
$po    = $order ? $order->get_meta( '_po_number' ) : '';

FAQ

Preguntas frecuentes

¿HPOS viene activado por defecto?

En las tiendas nuevas, sí: es la opción por defecto desde WooCommerce 8.2. Las tiendas existentes mantienen el almacenamiento antiguo en entradas hasta que migran.

¿Podemos volver atrás si algo sale mal?

Mientras el modo de compatibilidad mantenga ambos almacenamientos sincronizados, es posible volver a cambiar el almacenamiento principal. Por eso la sincronización sigue activa hasta que la tienda ha funcionado correctamente con HPOS durante un tiempo.

Nuestro código usa get_post_meta() sobre pedidos. ¿Fallará?

Cuando HPOS sea el almacenamiento principal, sí: lee las tablas de entradas, que ya no son la fuente de la verdad. Usa el objeto del pedido: wc_get_order( $id )->get_meta( 'clave' ).

$ describe el problema

¿Tienes un problema con WooCommerce?Solicita un diagnóstico.

Cuéntanos qué falla, qué ha cambiado últimamente y cómo afecta al negocio. Revisamos cada solicitud y te recomendamos el siguiente paso.

Solicitar un diagnóstico Ver servicios y precios

Nunca envíes contraseñas, claves API ni datos de tarjetas a través del formulario.

Diagnóstico desde299 €

Solicitar un diagnóstico