获取在Woocommerce上支付订单的日期

时间:2016-03-24 18:37:19

标签: php wordpress woocommerce

在Woocommerce上,如何将订单状态更改为付款/完成日期?

我看到了一些关于从客户那里获得订单的事情,但这只是我算法的第一步。然后我需要知道它何时改为完成。

我们的想法是建立一个会员区:付款期限为3个月。所以我会计算自购买以来的日子

相关的东西 https://www.skyverge.com/blog/get-all-woocommerce-orders-for-a-customer/

这就是我用来了解产品是否由客户购买的原因

if (wc_customer_bought_product($customer_email, $user_id,$loop->post->ID)){
            $courses[] = $this->find($loop->post->ID);
          }

2 个答案:

答案 0 :(得分:4)

我认为你应该研究一下:

  

/mySite/wp-content/plugins/woocommerce/includes/abstracts/abstract-wc-order.php

有一个__get函数:

public function __get( $key ) {
        // Get values or default if not set.
        if ( 'completed_date' === $key ) {
            $value = ( $value = get_post_meta( $this->id, '_completed_date', true ) ) ? $value : $this->modified_date;
        } elseif ( 'user_id' === $key ) {
            $value = ( $value = get_post_meta( $this->id, '_customer_user', true ) ) ? absint( $value ) : '';
        } elseif ( 'status' === $key ) {
            $value = $this->get_status();
        } else {
            $value = get_post_meta( $this->id, '_' . $key, true );
        }

        return $value;
    }

所以我的理解是,如果你通过了完成日期'作为参数,它将返回completed_date。

它还为您提供了这个日期即

的提示
  

get_post_meta

好吧,至少我会从哪里开始。

答案 1 :(得分:0)

这应该适用于最近的 WP/WooCommerce。

$order = new WC_Order($sale_id);
echo $order->get_date_paid();