WC()->cart->get_cart() se muestra vacío pero no en la página del carrito

1 minuto de lectura

Tengo un script PHP en un servidor web de WooCommerce que interactúa con una aplicación de Android que estoy desarrollando. Lo uso principalmente para iniciar sesión en cuentas de WordPress y agregar/eliminar productos al carrito de WooCommerce.

Estas funciones funcionan bien:

function add_to_cart(){
    return WC()->cart->add_to_cart(
        $_POST['product_id'], 
        $_POST['quantity'],
        $_POST['variation_id'],
        null, 
        null);
}

function remove_from_cart(){
    if(empty($_POST['cart_item_key'])){
        return 'Please specify cart_item_key';
    }
    WC()->cart->remove_cart_item($_POST['cart_item_key']);
    return 'Product removed from cart!';
}

Esta función también funciona, pero devuelve una matriz vacía…

function get_cart_contents(){
    return WC()->cart->get_cart();
}

Sin embargo, sé que el carrito no está vacío porque cuando agrego un producto al carrito en la aplicación, aparece en el carrito en el sitio web. ¿Hay una función diferente a la que debería llamar? ¿Me estoy olvidando de llamar a algo?

Estoy en una base de aprendizaje e implementación con PHP, las críticas constructivas son bienvenidas

  • ¿Esto sucede con un usuario conectado o no?

    –Reigel Gallarde

    17 de abril de 2017 a las 4:11

  • interfaces with an Android app

    – Nathan Dawson

    17 de abril de 2017 a las 4:12

  • se puede intentar get_cart_from_session( ) método

    – LoicTheAztec

    17 de abril de 2017 a las 6:05

  • @NathanDawson También uso la API REST, pero no tiene soporte para la funcionalidad del carrito, así que tengo que usar PHP para eso.

    – Samrodev

    17 de abril de 2017 a las 14:31

  • en ese caso tienes problema de sesion…

    –Reigel Gallarde

    17/04/2017 a las 14:40

¿Ha sido útil esta solución?