Suporte » Desenvolvendo com WordPress » Ajuda na programação de um Plugin

  • Estou com um problema no plugin que estou tentando criar, estou começando e não tenho muito conhecimento.
    Quando o usuário loga no meu site e ele segue os critérios de comparação, o plugin muda ele de ‘Customer’ para ‘Wholesale_buyer’, assim posso filtrar alguns produtos para quem é ‘wholesale_buyer’, mas quando o cliente faz parte de todos os critérios, o plugin faz a contagem normal mas na hora de fazer a troca do Role, simplesmente não funciona, o plugin não trava, mas também não muda o usuário, quando tento executar a função update_user_role_rh(); manualmente pela pagina de teste que criei no meu admin, funciona normalmente, mas quado jogo pra fazer isso automaticamente no login do usuário, não dá certo.
    Oque será que pode estar errado?

    add_option(‘updateUserRoleLogin’, ‘0’);
    add_option(‘role_search’, ‘customer’);
    add_option(‘role_update’, ‘wholesale_buyer’);
    add_option(‘meta_field_search’, ‘shipping_state’);
    add_option(‘meta_field_value_search’, ‘MS’);

    add_action(‘wp_login’, ‘update_user_login’);

    function update_user_login($login){
    //$user recebe os dados do cliente logado
    $user = get_userdatabylogin($login);
    //Coloque true para retornar string e false para retornar array
    $single = true;
    //Compara se o cliente ja foi atualizado ou não
    if ( get_user_meta($user->ID, get_option(‘meta_field_search’), $single) == get_option(‘meta_field_value_search’) && implode(‘, ‘, $user->roles) == get_option(‘role_search’)){
    //atualiza quantos clientes foram atualizados pelo login
    $updateuser = get_option(‘updateUserRoleLogin’) + 1;
    //$updateuser = $user->ID; //para fins de teste
    update_option(‘updateUserRoleLogin’, $updateuser);
    //atualiza o cliente para a Role nova
    $this->update_user_role_rh($user->ID);
    }
    }

    function update_user_role_rh($id){
    $u = new WP_User($id);
    $u->remove_role(get_option(‘role_search’));
    $u->add_role(get_option(‘role_update’));
    }

Visualizando 2 respostas - 1 até 2 (de um total de 2)
Visualizando 2 respostas - 1 até 2 (de um total de 2)
  • O tópico ‘Ajuda na programação de um Plugin’ está fechado para novas respostas.