Avisos
Vaciar todo

Actualización de Stocky Precios de Woocommerce desde sistema externo  

 
Zac
 Zac
Usuario activo

Estimados amigos por favor requiero de su ayuda tengo el siguiente problema,
estoy construyendo una tienda en woocommerce, la cual requiere actualizar sus precios y stock desde un servicio externo (Web Service SOAP), el sitio tiene las siguientes caracteristicas:
1.- Solo pueden acceder distribuidores, (para lo cual fuerzo el inicio de sesion)
2.- Solo actualizo el stock para los usuarios registrados, donde hago lo siguiente:
Luego del inicio de sesión, redireciono a mi pagina que se encarga de conectarse al web service soap, el que me devuelve un arreglo con todo los productos solo 3 campos: SKU, Precio y Stock,
recorro todo el arreglo y actualizo los campos _regular_price, _price y _stock de la tabla wp_postmeta, de la siguiente manera
$product_id = wc_get_product_id_by_sku($sku);
update_post_meta ($product_id, '_regular_price', $precio);
update_post_meta ($product_id, '_price', $precio);
update_post_meta ($product_id, '_stock', $stock);
Hasta aquí todo va bien, sin problemas, se actualizan los precios y el stock, PERO EL PROBLEMA ES EL SIGUIENTE:
1. Ingreso a la tienda y veo los productos que cuentan con Stock = 0, cuando la tienda esta configurada para no mostrarlos ( Imagino que wordpress tiene otro campo que le indica en ejecución regular que el campo ya llego a 0 (cero),
POR FAVOR PODRÍAN INDICARME QUE CAMPO ES ESTE, O CUAL ES LA SOLUCIÓN, HAY ALGUNA FUNCIÓN de WORDPRESS QUE ME PERMITA ACTUALIZAR EL STOCK Y AUTOMÁTICAMENTE REALICE TODOS LOS PROCEDIMIENTOS SECUNDARIOS QUE HACE WORDPRESS EN EJECUCION REGUALAR?

Muchas gracias por su tiempo y apoyo

URL del sitio: Contenido solo visible a usuarios registrados

Citar
Respondido : 07/12/2018 11:03 pm
Jhon
 Jhon
Soporte CMS Webempresa Moderator

Hola

Sólo estas actualizando el post meta, pero hay más cosas implicadas, como los transients por ejemplo, revisa:
https://stackoverflow.com/questions/51940338/updating-product-stock-programmatically-in-woocommerce-3

Saludos.

ResponderCitar
Respondido : 08/12/2018 4:39 pm

Zac
 Zac
Usuario activo

Gracias por la información,
por si a alguien le sirve la solucion era agregar
wc_update_product_stock_status($product_id,1);

Con esto se sincronizando los estados

ResponderCitar
Respondido : 13/12/2018 7:20 am
Pepe
 Pepe
Soporte CMS Webempresa Admin

Hola.

Genial !!! me alegra que encontraras la solución.
Gracias por informarnos y aportar la solución.

Cerramos el tema.

Un saludo

ResponderCitar
Respondido : 13/12/2018 9:57 am

wpdoctor-revisa-la-salud-de-tu-wordpress