在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);
}
答案 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();