web-dev-qa-db-ja.com

ユーザーの最新のWoocommerce Subscriptionを取得するための正しい機能

私は会員専用の定期購読サイトです。会員は1つの定期購読しか持てません。購読のステータスを取得できるようにする必要があります。

私はすべてのドキュメントを見てきましたが、wcs_get_users_subscriptions()関数を見つけました。これは与えられたユーザのためのすべての購読製品の配列を逆の日付順で返します(すなわち、最新が常に最初です)。

私はこのコードを解決しましたが、それはうまくいきますが、絶対に間違った方法であることがわかっています。

$subs = wcs_get_users_subscriptions( $user_id );
$subs = (object) array_shift( $subs );
$subs = (object) $subs->data;
$return = $subs->status;

誰もが正しい方法を知っていますか?

1
Peter HvD

このコードを使う

$users_subscriptions = wcs_get_users_subscriptions($user_id);

foreachを使ってデータを取得する

foreach ($users_subscriptions as $subscription){
  if ($subscription->has_status(array('active'))) {
         echo $subscription->get_id(); 
  }
}

購読データにアクセスする機能がいくつかあります。 get_id()、get_date( 'end')のように(購読の最終日を取得するため)。

お役に立てば幸いです。

0
dev_ramiz_1707