2016-03-24 95 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