首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于订单状态的WooC角色转换

基于订单状态的WooC角色转换
EN

Stack Overflow用户
提问于 2022-05-01 17:38:54
回答 1查看 26关注 0票数 0

我希望能够手动确认报价我试图结合我在这里找到的两个功能,但当我启动它们时,页面就崩溃了。手动确认很重要,因为我们必须检查每个想购买会员的人。角色很重要,因为我使用它们来限制对网站其他部分的访问。

A用户之旅:用户访问该网站。然后必须登录或创建配置文件。然后将它们转发到您可以获得成员资格的站点。(伍康尔斯和斯特里普)我想要能够手动确认是否有人购买了会员资格。如果我确认用户得到了一个新角色。如果我不确认用户没有得到任何角色或被删除(付款显然不应该发生在这种情况下)。

有什么问题能请人帮忙吗?

代码语言:javascript
复制
 function uiwc_change_role( $order_id ) {

  // get all the order data

  $order = new WC_Order($order_id);

    $user = $order->get_user();

    $order_status = $order->get_status();  

   if ('complete' == $order_status) {   



    if( false != $user && !user_can($user, 'administrator') ){

// our new role name
$role = 'aktives_mitglied2022';

//set the new role to our customer
$user->set_role($role);     
}    
 //return $order_status;
}  
}
 
//add this newly created function to the thank you page
add_action( 'woocommerce_thankyou', 'uiwc_change_role', 100, 1 );
EN

回答 1

Stack Overflow用户

发布于 2022-05-01 18:15:50

代码语言:javascript
复制
 function custom_uiwc_change_role( $order_id ) {

  // get all the order data

  $order = new WC_Order($order_id);

    $user = $order->get_user();

    $order_status = $order->get_status();  

   if ('complete' == $order_status) {   



    if( false != $user && !user_can($user, 'administrator') ){

// our new role name
$role = 'aktives_mitglied2022';

//set the new role to our customer
$user->set_role($role);     
}    
 //return $order_status;
}  
}
 
//add this newly created function to the thank you page
add_action( 'woocommerce_thankyou', 'custom_uiwc_change_role', 100, 1 );
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72079041

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档