2016-03-24 89 views
1

如何在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); 
      } 

回答

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

你不需要传递$ key ...就像'$ order-> completed_date'一样使用它,这会将'__get'中'completed_date'传递为'$ key' ... – Reigel