# pmpro と wp-discourse で会員レベルを更新する

**URL:** <https://meta.discourse.org/t/update-membership-level-with-pmpro-and-wp-discourse/150583>\
**Category:** WordPress\
**Created:** [2020 年 5 月 6 日午前 11:56 UTC](https://meta.discourse.org/t/update-membership-level-with-pmpro-and-wp-discourse/150583 "2020-05-06T11:56:25Z")\
**Posts on this page:** 1\
**Showing post:** 5

<div class="post-metadata">

**Author:** ![waffleslop](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/waffleslop/32/244974_2.png) [@waffleslop](https://meta.discourse.org/u/waffleslop)\
**Post date:** [2020 年 5 月 7 日午前 11:03 UTC](https://meta.discourse.org/t/update-membership-level-with-pmpro-and-wp-discourse/150583/5 "2020-05-07T11:03:41Z")

</div>

こんにちは、Jay さん。返信ありがとうございます。私の環境でも動作しましたが、古い値がまだ残っています。つまり、新しい会員レベルと古い会員レベルの両方の値が表示されてしまいます。古い会員レベルの値を削除する方法について、何かアイデアはありますか？

私は以下を使用しています。

`DiscourseUtilities::remove_user_from_discourse_group( $user_id, $group_name );`

これが私の削除関数です。

```plaintext
function dcpmp_remove_member_from_group( $level_id, $user_id, $cancel_level ) {
    if ( ! empty( $cancel_level ) ) {
        $group_name = dcpmp_get_level_for_id( $cancel_level );
        if ( is_wp_error( $group_name ) ) {

            return null;
        }

        // ユーザーを削除します。
        $result = DiscourseUtilities::remove_user_from_discourse_group( $user_id, $group_name );
        if ( ! empty( $result->success ) ) {
           // 会員レベルのメタデータキーを削除します。
            delete_user_meta( $user_id, "dcpmp_group_{$group_name}" );
        }

        return $result;
    }

    return null;
}

```

---

_[View the full topic](https://meta.discourse.org/t/update-membership-level-with-pmpro-and-wp-discourse/150583)._
