fbpx
León Desarrollo - Programación WordPress
Programación WordPress

Obtener un pedido de WooCommerce en PHP


Para obtener un pedido de WooCommerce en PHP teniendo el número de pedido, puedes utilizar la función wc_get_order() proporcionada por WooCommerce. Esta función te permite recuperar un pedido específico según su número de pedido. Aquí tienes un ejemplo de cómo hacerlo:

// Número de pedido que deseas recuperar
$numero_pedido = 'WP12345'; // Reemplaza con el número de pedido que estás buscando

// Obtener el pedido usando wc_get_order
$order = wc_get_order($numero_pedido);

if ($order) {
    // El pedido se ha encontrado, puedes acceder a los datos del pedido
    $order_id = $order->get_id();
    $order_status = $order->get_status();
    $billing_address = $order->get_billing_address();
    $shipping_address = $order->get_shipping_address();

    // Realiza cualquier acción que necesites con los datos del pedido
    echo "Número de pedido: $numero_pedido<br>";
    echo "ID de pedido: $order_id<br>";
    echo "Estado del pedido: $order_status<br>";
    echo "Dirección de facturación: $billing_address<br>";
    echo "Dirección de envío: $shipping_address<br>";
} else {
    // El pedido no se encontró
    echo "El pedido con número $numero_pedido no se encontró.";
}

En este ejemplo, reemplaza 'WP12345' con el número de pedido que estás buscando. Si se encuentra un pedido con ese número, la función wc_get_order() lo recuperará y podrás acceder a sus datos, como el estado del pedido, la dirección de facturación y la dirección de envío.

Recuerda que WooCommerce asigna un ID único a cada pedido, por lo que también puedes buscar pedidos por su ID en lugar de su número de pedido si tienes el ID del pedido en lugar del número.

Obtener las líneas del pedido

Puedes obtener las líneas de un pedido de WooCommerce utilizando el método get_items() de un objeto de pedido. Aquí te muestro cómo hacerlo:

// Número de pedido que deseas recuperar
$numero_pedido = 'WP12345'; // Reemplaza con el número de pedido que estás buscando

// Obtener el pedido usando wc_get_order
$order = wc_get_order($numero_pedido);

if ($order) {
    // Obtener las líneas del pedido
    $line_items = $order->get_items();

    if (!empty($line_items)) {
        // Iterar a través de las líneas del pedido
        foreach ($line_items as $item_id => $item_data) {
            $product_name = $item_data->get_name();
            $product_quantity = $item_data->get_quantity();
            $product_price = $item_data->get_subtotal(); // Obtener el precio por unidad

            $line_price = $item_data->get_total(); // Total de línea

            echo "Producto: $product_name<br>";
            echo "Cantidad: $product_quantity<br>";
            echo "Precio total: $line_price<br>";
            echo "<br>";
        }
    } else {
        echo "El pedido no tiene líneas de productos.";
    }
} else {
    // El pedido no se encontró
    echo "El pedido con número $numero_pedido no se encontró.";
}

En este ejemplo, $order->get_items() te proporciona un array de las líneas de productos en el pedido. Luego, puedes iterar a través de estas líneas para acceder a la información de cada producto, como el nombre, la cantidad y el precio total de cada uno.

Obtener notas de pedido

Para obtener las observaciones o notas asociadas a un pedido en WooCommerce, puedes utilizar el método get_customer_note() del objeto de pedido. Aquí tienes un ejemplo de cómo hacerlo:

// Número de pedido que deseas recuperar
$numero_pedido = 'WP12345'; // Reemplaza con el número de pedido que estás buscando

// Obtener el pedido usando wc_get_order
$order = wc_get_order($numero_pedido);

if ($order) {
    // Obtener las observaciones del pedido
    $customer_note = $order->get_customer_note();

    if ($customer_note) {
        // Mostrar las observaciones del pedido
        echo "Observaciones del pedido: $customer_note";
    } else {
        echo "El pedido no tiene observaciones o notas asociadas.";
    }
} else {
    // El pedido no se encontró
    echo "El pedido con número $numero_pedido no se encontró.";
}

Este código utiliza wc_get_order() para obtener un objeto de pedido según el número de pedido proporcionado. Luego, utiliza $order->get_customer_note() para obtener las observaciones o notas asociadas a ese pedido.

Asegúrate de reemplazar 'WP12345' con el número de pedido que estás buscando. Este código debe colocarse en un archivo PHP de tu tema o en un plugin personalizado en tu sitio de WordPress.

Suscríbete

Si quieres estar al día con las novedades de este sitio te recomiendo que te suscribas.

Comentarios

Deja un comentario

2018 animaciones animación Aranda array atributos añade base de datos buscar categoría css curso diseño Duero emprendimiento fiduero guía imagen imagenes inauguracion instalar Isilla javascript linux local mac node.js pagina pagina web php post problemas producto red servicio servidor solución split sql sql server stock string windows woocommerce wordpress