Suporte » Ajustando o WordPress » Erro ao Clicar em Pagina Restrita

  • Resolvido gilsonluiz

    (@gilsonluiz)


    Bom Dia Pessoal,

    Criei uma pagina restrita, e nessa pagina chamo somente post restritos.
    Até ai está tudo ok.

    Mas o problema é que se não estou logado na area restrita me joga erro na pagina.

    Alguem saberia como posso tentar solucionar?

    Obrigado,
    Gilson Luiz Rauschkolb

Visualizando 9 respostas - 1 até 9 (de um total de 9)
  • Myst1010

    (@myst1010)

    Olá Gilson.
    Se é restrita só quem está conectado e é um administrador pode ver.

    Se for exibido os posts restritos a qualquer usuário, conectado ou não, o post estaria restrito a que?

    Criador do tópico gilsonluiz

    (@gilsonluiz)

    Olá Myst1010,

    Obrigado pela sua ajuda.

    Sim a area restrita é somente para pessoas registradas e com permissões.

    Mas quando não estou logado me e clico na área restrita, me joga a pagina de erro 404.

    Gostaria que aparecesse uma mensagem para informar so para pessoas sócios e administrador.

    Obrigado,
    Gilson Luiz Rauschkolb

    Myst1010

    (@myst1010)

    Usando verificação de logado e restrição de páginas ao mesmo tempo eu nem sei como poderia ser feito, porque restrita é restrita e já possui seu funcionamento padrão.

    Infelizmente assim como vc quer eu não sei como poderia ser feito.

    Criador do tópico gilsonluiz

    (@gilsonluiz)

    Olá Myst1010,

    E tem alguma maneira de pegar e fazer com que o menu so apareça quando estiver logado?

    Ex.:
    Sou um usuario comum, visitando o site…
    vejo o site por compelto.. menos o menu area restrita e a pagina claro.

    Agora eu logo como um socio, e tenho permissão de acesso a essa area, ai visualizo o menu para acessar.

    Tem como fazer isso?

    Obrigado,
    Gilson Luiz Rauschkolb

    Myst1010

    (@myst1010)

    Tem sim, aqui no fórum mesmo tem tópicos falando como fazer isso, neste caso vc precisa criar mais uma área de menu personalizado e no local que se chama o menu vc coloca o código da verificação de usuário logado.

    Com isso vc carrega um dos menus se o usuário está logado, outro menu para quando ele não está e na administração vc cria dois menus personalizados um para cada caso.

    seria + ou – assim

    <?php  if ( ! is_user_logged_in() ) {
    
    	if(has_nav_menu( 'menu_user_no_logado' ) != ''){
    		wp_nav_menu(array( 'container_id' => 'menu_container', 'menu_id' => 'menu', 'theme_location' => 'menu_user_no_logado', 'menu_class' => 'menu', 'fallback_cb' => '' ) );
    	}
    
    } else {
    
    	if(has_nav_menu( 'menu_user_logado' ) != ''){
    		wp_nav_menu(array( 'container_id' => 'menu_container', 'menu_id' => 'menu', 'theme_location' => 'menu_user_logado', 'menu_class' => 'menu', 'fallback_cb' => '' ) );
    	}
    
    } ?>

    Criador do tópico gilsonluiz

    (@gilsonluiz)

    Ok, Myst1010 vou testar assim que possivel, pois hoje recomeçam as aulas heheh ai complica um pouco :D, mas mesmo assim.

    Muito Obriado Novamente,
    Obrigado a todos do forum que tem me auxiliado..

    Obrigado,
    Gilson Luiz Rauschkolb

    Criador do tópico gilsonluiz

    (@gilsonluiz)

    Olá Myst1010,

    Tentei inserir esse codigo que você me indicou,mas não entendi direito como o insiro na pagina.

    Pois assim:

    Tenho que inserir ele na header onde está o menu? ou na index?
    Tenho que colocar algo a mais para indentificar o menu?

    Acrescentei ao menu os dois campos ali, o container e o theme. mas ele me exibe os dois menus.

    Desculpa a burrice, mas estou todo perdido kkkkk

    Segue o codigo de Indentificação do Menu

    <div id="menu" container_id="menu_container" theme_location="menu_user_no_logado">
    
    <div id="menu" container_id="menu_container" theme_location="menu_user_logado">

    Obrigado,
    Gilson Luiz Rauschkolb

    Myst1010

    (@myst1010)

    Primeiro vc deve criar dois menus personalizados, um vc já tem e vc deve criar outro como descrito nesta página
    http://codex.wordpress.org/Function_Reference/register_nav_menus

    E vc deve colocar no lugar da chamada para seu menu o código como lhe passei, afinal é ele que vc deseja personalizar, então é substituindo ele pelo código que vc irá conseguir isso.

    se é no header ou na index eu não sei, é onde seu menu personalizado está sendo chamado.
    A sua chamada ao menu deve estar semelhante a isso

    wp_nav_menu(array( 'container_id' => 'menu_container', 'menu_id' => 'menu', 'theme_location' => 'menu_user_logado', 'menu_class' => 'menu', 'fallback_cb' => '' ) );

    No código que passei vc só tem que mudar menu_user_no_logado e menu_user_logado pelos nomes que vc deu aos seus menus.

    Criador do tópico gilsonluiz

    (@gilsonluiz)

    Olá,

    Myst1010,

    Apos ler e reler e fuçar em tudo que é coisa :).

    Consegui solucionar o problema na troca do menu caso usuario esteja logado ou não.

    da seguinte maneira, um pouco diferente da sua mas copiando a ideia 🙂

    <?php  if ( ! is_user_logged_in() ) {?>
    <strong>* Ao inves de colocar esses dados que você me sugeriu, eu simplesmente coloquei aqui o menu de usuario não logado.</strong>
    
    	if(has_nav_menu( 'menu_user_no_logado' ) != ''){
    		wp_nav_menu(array( 'container_id' => 'menu_container', 'menu_id' => 'menu', 'theme_location' => 'menu_user_no_logado', 'menu_class' => 'menu', 'fallback_cb' => '' ) );
    	}
    
    <?php } else {?>
    <strong>* E aqui o menu de usuario logado.</strong>
    
    	if(has_nav_menu( 'menu_user_logado' ) != ''){
    		wp_nav_menu(array( 'container_id' => 'menu_container', 'menu_id' => 'menu', 'theme_location' => 'menu_user_logado', 'menu_class' => 'menu', 'fallback_cb' => '' ) );
    	}
    
    <?php } ?>

    Ficando então dessa maneira:

    <?php if( ! user_is_logged_in() ) { ?>
           //Menu de Usuario Não Logado
    <?php } else { ?>
           //Menu de Usuario Logado
    <?php } ?>

    Obrigado,
    Gilson Luiz Rauschkolb

Visualizando 9 respostas - 1 até 9 (de um total de 9)
  • O tópico ‘Erro ao Clicar em Pagina Restrita’ está fechado para novas respostas.