¿Cómo puedo obtener la fecha del pedido en WooCommerce?

2 minutos de lectura

avatar de usuario
Ke.

puedo ver dentro class-wc-admin-cpt-shop_order.php hay algunas funciones que reúnen la información del pedido para mostrarla en WooCommerce. Sin embargo, no veo ningún lugar donde se pueda usar la fecha…

Porque WooCommerce usa wp_posts para almacenar los datos, ¿puedo suponer que el post_date field es el correcto para usar?

Además, alguien sabe si hay una función en WooCommerce para obtener esto, o si hay una forma de hacer que la fecha salga en class-wc-admin-cpt-shop_order.php.

  • Hola, d74p, el cambio sugerido para comenzar la oración con “porque” en lugar de “ya que” es gramaticalmente incorrecto.

    – Ke.

    31 de julio de 2015 a las 18:29

// Get $order object from order ID 
$order = wc_get_order( $order_id );

// Get Order Dates
$order->get_date_created();
$order->get_date_modified();
$order->get_date_completed();
$order->get_date_paid();

Fuente: https://businessbloomer.com/woocommerce-easy-get-order-info-total-items-etc-from-order-object/


Además

$order->get_date_created();

Es la “fecha del pedido”, que puede cambiar dentro de WooCommerce (“Editar pedido”)

ingrese la descripción de la imagen aquí

  • Haz que se vea bonito con wc_format_datetime()

    – Jacob Raccuia

    25 de mayo a las 15:22

Puedes usar el Pedido_WC objeto, si tiene el ID de pedido:

$order = new WC_Order($order_id);
$order_date = $order->order_date;

  • Como alternativa, puede utilizar wc_get_order( $order_id );

    – helgathevikingo

    31 de julio de 2015 a las 14:29

  • @helgatheviking, ¿cuál es la ventaja de usar wc_get_order() ¿en este caso? Por lo que sé, wc_get_order() terminaría llamando get_post(), ya que el argumento proporcionado es numérico. Es posible que me esté perdiendo algo.

    – rnevio

    26 mayo 2016 a las 19:30

  • new WC_Order($order_id) también va a llamar get_post() si el argumento es numérico. Es un poco yo digo tomate tu dices tomahto…. es decir, casi no hay diferencia. Si me obligaras diría el wc_get_order() probablemente no cambiará y si cambiaron algo sobre el WC_Order() clase, el envoltorio seguiría funcionando.

    – helgathevikingo

    26 mayo 2016 a las 21:06

  • ¿Hay un campo “order_completed_date”?

    – Garconís

    29 de agosto de 2017 a las 17:37

  • Para responder a mi propia pregunta anterior, <?php echo $order->get_date_completed(); ?> es lo que necesitaba

    – Garconís

    29 de agosto de 2017 a las 17:45

No se debe acceder directamente a las propiedades del pedido. La mejor manera es $order->get_date_completed()

¿Ha sido útil esta solución?