【问题标题】:Change role and user meta value after purchase of specific product on WooCommerce?在 WooCommerce 上购买特定产品后更改角色和用户元值?
【发布时间】:2017-03-18 04:32:24
【问题描述】:

在我们的 WooCommerce 商店中,我们有一个特定的产品,在购买并确认订单后,用户角色会更改为“俱乐部”会员(高级会员)。

我们现在还需要为我试图通过复制订单 ID 中的编号来分配的用户分配一个唯一的成员 ID。元键“club_member_id”已通过高级自定义字段插件添加为当前默认值为 1 的用户的自定义字段。

下面的源代码将用户角色更改为“club”,但不会更改“club_member_id”的元值。任何人都可以对此有所了解吗?

//Change role and add Club ID if club membership is bought

function lgbk_add_member( $order_id ) {

$order = new WC_Order( $order_id );
$items = $order->get_items();

foreach ( $items as $item ) {

    $product_name = $item['name'];
    $product_id = $item['product_id'];
    $product_variation_id = $item['variation_id'];
    $original_cid = get_user_meta('club_member_id');
    $meta_key = 'club_member_id';
    $meta_value = $order_id;

if ( $order->user_id > 0 && $product_id == '7968' ) {

    update_user_meta( $order->user_id, 'paying_customer', 1 );
    $user = new WP_User( $order->user_id );
    // Remove role
    $user->remove_role( 'customer' );
    // Add role
    $user->add_role( 'club' );
    // Remove club member ID
    $user->delete_user_meta($user, $meta_key);
    // Add club member ID
    $user->add_user_meta($user, $meta_key, $meta_value);

    } 

  }

} add_action( 'woocommerce_order_status_completed', 'lgbk_add_member' );

此代码已放置在我们主题的functions.php 文件中。提前致谢。

【问题讨论】:

    标签: php wordpress woocommerce


    【解决方案1】:

    而不是这个:

     // Remove club member ID
     $user->delete_user_meta($user, $meta_key);
     // Add club member ID
     $user->add_user_meta($user, $meta_key, $meta_value);
    

    我会那样做的:

    // Remove club member ID
    delete_user_meta($order->user_id, $meta_key);
    // Add club member ID
    add_user_meta( $order->user_id, $meta_key, $meta_value);
    

    add_user_metadelete_user_meta 是简单的 WordPress 函数,失败时返回 false,成功时返回主键 id,它们未列在 WP_User 类的公共方法中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-12-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-12
      • 2018-04-10
      • 2017-11-03
      • 2021-02-01
      相关资源
      最近更新 更多