获取woocommerce用户活动成员资格 - 从php多数组中提取数据

问题描述 投票:0回答:1
array (
0 => 
WC_Memberships_User_Membership::__set_state(array(
 'id' => 52330,
 'plan_id' => 18952,
 'plan' => 
WC_Memberships_Membership_Plan::__set_state(array(
   'id' => 18952,
   'name' => 'Level 2 Access Until June',
   'slug' => 'level-2-access-until-june',
   'post' => 
  WP_Post::__set_state(array(
     'ID' => 18952,
     'post_author' => '8',
     'post_date' => '2017-09-11 11:05:13',
     'post_date_gmt' => '2017-09-11 15:05:13',
  )),
   'access_method_meta' => '_access_method',
   'rules' => 
  array (
  ),
)),
 'user_id' => '5213',
 'status' => 'wcm-active',
 'post' => 
WP_Post::__set_state(array(
   'ID' => 52330,
   'post_title' => 'Auto Draft',

)),
 'product' => NULL,
 'renewal_login_token_meta' => '_renewal_login_token',
 'locked_meta' => '_locked',
)),
 1 => 
 WC_Memberships_User_Membership::__set_state(array(
 'id' => 28639,
 'plan_id' => 27786,
 'plan' => 
WC_Memberships_Membership_Plan::__set_state(array(
   'id' => 27786,
   'name' => 'Level 1 – Ethical and Professional Standards',
   'slug' => 'level-1-ethical-and-professional-standards',
   'post' => 
  WP_Post::__set_state(array(
     'ID' => 27786,
     'post_author' => '8',
     'post_mime_type' => '',
     'comment_count' => '0',
     'filter' => 'raw',
  )),
   'access_method_meta' => '_access_method',
   'email_content_meta' => '_email_content',
   'rules' => 
  array (
  ),
)),
 'user_id' => '5213',
 'status' => 'wcm-active',
 'post' => 
WP_Post::__set_state(array(
   'ID' => 28639,
   'post_author' => '5213',
   'post_date' => '2017-11-27 21:41:06',
   'filter' => 'raw',
)),
 'product' => NULL,
 'type' => 'manually-assigned',
 'locked_meta' => '_locked',
 )),
);

我有这个由woocommerce方法给出的数组:wc_memberships_get_user_active_memberships($ user_id);

我需要提取用户拥有的成员资格的名称,它必须处于循环中,因为用户可以拥有多个成员资格。我希望得到返回名称= 2级访问到6月,1级 - 道德和专业标准

php wordpress woocommerce woocommerce-subscriptions
1个回答
0
投票

根据您发布的内容,我会尝试这样做:

$memberships_info = wc_memberships_get_user_active_memberships($user_id);

foreach ($memberships_info as $membership) {
    echo $membership['plan']['name'];
}

从woocommerce文档中,您可以指定活动成员资格的状态。因此,您可能希望包含所有成员资格类型:

$args = array( 
    'status' => array( 'active', 'complimentary', 'pending' ),
);  
$memberships_info = wc_memberships_get_user_active_memberships($user_id, $args); // adding the args bit to get all memberships

foreach ($memberships_info as $membership) {
    echo $membership['plan']['name'];
}

Woocommerce文档:https://docs.woocommerce.com/document/woocommerce-memberships-function-reference/

© www.soinside.com 2019 - 2024. All rights reserved.