更改 WooCommerce 会员身份

Gen*_*Can 2 php wordpress status woocommerce woocommerce-memberships

我一直在敲我的头大约一个星期了。任何帮助将不胜感激。

我有一个 WooCommerce 商店,我需要在其中通过 PHP 更新用户的会员状态(已取消、活动等)。

我知道我可以通过以下方式获取他们当前的状态:

wc_memberships_get_user_membership( $user_id, $membership_id );
Run Code Online (Sandbox Code Playgroud)

并通过以下方式创建新会员:

wc_memberships_create_user_membership( $args );
Run Code Online (Sandbox Code Playgroud)

但我还没有找到一种方法来改变状态。

谢谢!

小智 5

对于来这里的其他人。这是我的首选解决方案。WooCommerce 会员资格只是您数据库中的另一个 WordPress 帖子,会员状态存储为帖子状态。WooCommerce 会员资格默认具有以下状态:

  • 积极的
  • 取消
  • 免费
  • 延迟
  • 已到期
  • 暂停
  • 待取消

在数据库中,上述状态如下所示:

  • wcm-active
  • wcm-取消
  • wcm-免费
  • wcm-延迟
  • wcm-过期
  • wcm-暂停
  • wcm-待定

您现在需要做的就是例如:

$status = 'wcm-paused';
$update_args = array( 'ID' => $membership_id, 'post_status' => $status );
wp_update_post($update_args);
Run Code Online (Sandbox Code Playgroud)

我希望这对其他人有帮助。

Ps:与直接访问数据库相比,我总是更喜欢使用核心功能。与可能的数据库更改不同,wp_update_post 是一个在 WordPress 中基本使用的函数,在可预见的未来不会消失。