Wolffgang Lemos
Respostas no Fórum
-
Fórum: Plugins
Em resposta a: Areas de Membros DistintasOlá @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, espero que este código possa lhe ajudar e caso dê certo deixe suas experiências.
Até mais.- Esta resposta foi modificada 6 anos, 10 meses atrás por Wolffgang Lemos.
Fórum: Temas
Em resposta a: Redes sociais dinâmicas no siteE aí @tonyfuckin, blz?
Sei que sua pergunta já está ai há algum tempo e você não deu retorno se seu problema foi solucionado, vai ai uma forma simples de fazer o que você necessita.Você pode adicionar um sub menu nas configurações do WordPress, salvar o endereço da sua pagina do facebook e puxar do banco de dados quando quiser.
Cole este código em seu arquivo functions.php
add_action( 'admin_menu', 'add_menu_option' ); function add_menu_option() { add_options_page( 'Facebook', 'Facebook', 'manage_options', 'facebook-page', 'add_facebook_page' ); } function add_facebook_page() { if ( !current_user_can( 'manage_options' ) ) { wp_die( __( 'Você não tem permissão para acessar esta página.' ) ); } $opt_name = 'pagina_facebook'; $hidden_field_name = 'face_submit_hidden'; $data_field_name = 'pagina_facebook'; // Verifica se existe algum valor gravado no banco de dados $pagina_face = get_option( $opt_name ); // Verifica se o usuario clicou para salvar formulário. // Se sim, insere um valor no unput hidden if( isset($_POST[ $hidden_field_name ]) && $_POST[ $hidden_field_name ] == 'Y' ) { // Lê o valor digitado no input $pagina_face = $_POST[ $data_field_name ]; update_option( $opt_name, $pagina_face ); ?> <!-- Mostra uma mensagem de sucesso caso a valor seja gravado corretamente --> <div class="updated"><p><strong><?php _e('Facebook Salvo com sucesso.', 'facebook-salvo' ); ?></strong></p></div> <?php } // Adiciona o formulario echo '<div class="wrap">'; echo "<h2>" . __( 'Adicionar Página do Facebook', 'facebook-salvo' ) . "</h2>"; ?> <form name="form1" method="post" action=""> <input type="hidden" name="<?php echo $hidden_field_name; ?>" value="Y"> <p><?php _e("Página do Facebook", 'facebook-salvo' ); ?> <input type="text" name="<?php echo $data_field_name; ?>" value="<?php echo $pagina_face; ?>" size="40"> </p><hr /> <p class="submit"> <input type="submit" name="Submit" class="button-primary" value="<?php esc_attr_e('Salvar') ?>" /> </p> </form> </div> <?php }
Qualquer dúvida sobre esta parte você pode verificar em:
https://codex.wordpress.org/Administration_MenusPara exibir a página do facebook em seu site basta colar o código abaixo no local desejado.
<div class="fb-page" data-href="https://www.facebook.com/<?php echo get_option('pagina_facebook'); ?>" data-tabs="timeline" data-small-header="false" data-adapt-container-width="true" data-hide-cover="false" data-show-facepile="true"> <div class="fb-xfbml-parse-ignore"> <blockquote>"> <a>"> <?php echo get_option('pagina_facebook'); ?> </a> </blockquote> </div> </div>
De agora em diante, toda vez que mudar o endereço da sua pagina do face no seu site ele mudará automaticamente em seu site.
Espero ter ajudado.
Até mais.- Esta resposta foi modificada 6 anos, 10 meses atrás por Wolffgang Lemos.
- Esta resposta foi modificada 6 anos, 10 meses atrás por Wolffgang Lemos.
- Esta resposta foi modificada 6 anos, 10 meses atrás por Wolffgang Lemos.
- Esta resposta foi modificada 6 anos, 10 meses atrás por Felipe Elia. Razão: correção de tags