Title: Areas de Membros Distintas
Last modified: 19 setembro, 2017

---

# Areas de Membros Distintas

 *  [luandrelima](https://br.wordpress.org/support/users/luandrelima/)
 * (@luandrelima)
 * [9 anos atrás](https://br.wordpress.org/support/topic/areas-de-membros-distintas/)
 * Ola Pessoal!
 * Sou novo por aqui. Estou desenvolvendo um site onde a area de membros tem 2 tipos
   e onde cada um deles tera acesso a areas totalmente distintas. Uma direcionada
   a um tipo de publico e outra direcionada a outro tipi de publico com ne essidades
   e conteudos bem diferentes.
    Estive testando alguns plugins (s2 member, members)
   porem nao tive sucesso, estes plugins direcionam ou restringem parte do conteudo
   somente e nao direcionam para urls distintas. Alguem poderia me auxiliar indicando
   um plugin que resolva?
 * Muito obrigado

Visualizando 2 respostas - 1 até 2 (de um total de 2)

 *  [jvgm](https://br.wordpress.org/support/users/jvgm/)
 * (@jvgm)
 * [9 anos atrás](https://br.wordpress.org/support/topic/areas-de-membros-distintas/#post-76167)
 * Acredito que nem todo plugin pode realizar o que você deseja no final, nunca 
   usei sempre desenvolvi uma função que realiza-se a ação para mim, mas pesquisei
   alguns plugins acredito que este vai lhe ajudar!
 * [https://br.wordpress.org/plugins/peters-login-redirect/](https://br.wordpress.org/plugins/peters-login-redirect/)
 * Abraços, fico no aguardo do feedback! 🙂
 *  [Wolffgang Lemos](https://br.wordpress.org/support/users/wolffganglemos/)
 * (@wolffganglemos)
 * [8 anos, 11 meses atrás](https://br.wordpress.org/support/topic/areas-de-membros-distintas/#post-76890)
 * Olá [@luandrelima](https://br.wordpress.org/support/users/luandrelima/), tudo
   bem?
 * Venho trazer uma outra opção para o seu problema, case ja tenha resolvido nos
   mostre como resolveu.
 * A solução que quero trazer é a seguinte: Você pode criar um Custom field para
   os usuários e na hora do cadastro escolher se ele é da Área 1 ou da Área 2, e
   na hora do login o sistema vai puxar do banco de dados de qual área ele é redirecionando-
   o para o link desejado.
 * Cole o código no seu functions.php
 *     ```
       add_action( 'show_user_profile', 'im_user_field' );
       add_action( 'edit_user_profile', 'im_user_field' );
   
       function im_user_field( $user ) { 
       	//Verifica se já existe algo salvo para o Usuario
         $area  = get_the_author_meta( 'tipo_de_area', $user->ID );
   
         //Somente o Admin do sistema poderá ver esse formulario 
       	if ( current_user_can( 'administrator' ) ) {
   
       	?>
           <table class="form-table">
             <h3>Tipo de Área</h3>
               <tr>
                 <td>
       			       <label for="address"><b><?php _e("Área"); ?></b></label>	
       			       <select name="tipo_de_area">
                       <?php   
                           // Caso o usuario seja da Area 1, marca a option 1         		          						
                 					if($area == 'area1'){						
                 						echo '<option value="area1" selected="selected">Área 1</option>';
                 					} else {
                 						echo '<option value="area1">Área 1</option>';
                 					}	  
                           // Caso o usuario seja da Area 2, marca a option 2                  
                           if($area == 'area2'){						
                 						echo '<option value="area2" selected="selected">Área 2</option>';
                 					} else {
                 						echo '<option value="area2">Área 2</option>';
                 					}					          			
                 			?>	         
                    </select>		  
       		      </td>              			        
               </tr>
           </table>  
   
           <?php  
           }
       }
       ```
   
 * Esta parte do código vai criar um select com a(s) área(s) que vc terá no seu 
   sistema.
 *     ```
       //Salva a informação no Banco de dados
       add_action( 'personal_options_update', 'save_im_user_field' );
       add_action( 'edit_user_profile_update', 'save_im_user_field' );
   
       function save_im_user_field( $user_id ) {
         //Salva a informação no Banco de dados só se for pelo Admin do sistema     
       	if ( current_user_can( 'administrator') ) { 
       	  update_user_meta( $user_id, 'tipo_de_area', $_POST['tipo_de_area'] );			
         }
       }
       ```
   
 * Esta parte vai salvar a área no banco de dados
 *     ```
       function im_redireciona_usuario( $url, $request, $user ) {
          if( $user && is_object( $user ) && is_a( $user, 'WP_User' ) ) {
               // Verifica qual o tipo de area do usuario Logado
               $area = get_user_meta( $user->ID, 'tipo_de_area', true );
   
               if( 'area1' ==  $area ) {
                 $url = home_url('/redireciona-para-area1/'); //Se for a área 1
               } else if( 'area2' == $area ){
                 $url = home_url('/redireciona-para-area2/'); //Se for a área 2
               } else {
                 $url = admin_url(); //Se NÃO for a área 1 ou 2, vai para o Painel
               }
           }  
           return $url;
       }
       add_filter( 'login_redirect', 'im_redireciona_usuario', 10, 3 );
       ```
   
 * Esta parte é para redirecionar o usuário de acordo com área cadastrada no sistema.
 * Você pode ajustar este código de acordo com as suas necessidades, aumentando 
   o numero de áreas por exemplo.
 * Bem [@luandrelima](https://br.wordpress.org/support/users/luandrelima/), espero
   que este código possa lhe ajudar e caso dê certo deixe suas experiências.
    Até
   mais.
    -  Esta resposta foi modificada 8 anos, 11 meses atrás por [Wolffgang Lemos](https://br.wordpress.org/support/users/wolffganglemos/).

Visualizando 2 respostas - 1 até 2 (de um total de 2)

 O tópico ‘Areas de Membros Distintas’ está fechado para novas respostas.

## Tags

 * [member](https://br.wordpress.org/support/topic-tag/member/)
 * [membros](https://br.wordpress.org/support/topic-tag/membros/)
 * [plugin](https://br.wordpress.org/support/topic-tag/plugin/)

 * Em: [Plugins](https://br.wordpress.org/support/forum/plugins-e-codigos/)
 * 2 respostas
 * 3 participantes
 * Última resposta de: [Wolffgang Lemos](https://br.wordpress.org/support/users/wolffganglemos/)
 * Última atividade: [8 anos, 11 meses atrás](https://br.wordpress.org/support/topic/areas-de-membros-distintas/#post-76890)
 * Estado: não resolvido

## Tópicos

### Tópicos mais populares

### Tópicos sem respostas

### Tópicos não relacionados a suporte

### Tópicos resolvidos

### Tópicos não resolvidos

### Todos os tópicos
