Suporte » Plugins » Remover admin bar de página específica

  • Resolvido Angelo Miloch

    (@angelo-miloch)


    olá, amigos. bom dia!
    Quero remover a barra de admin de apenas uma página.
    Fiz isso no functions.php:

    <;?php 
    if( is_page('ouca_ao_vivo') ) {
    	
        function remove_admin_bar(){
        return false;
        }
        add_filter( 'show_admin_bar' , 'remove_admin_bar');	
    }   else {
        
    } 
    ?>;

    No entanto, não funciona. O código está certo?
    Att

    • Este tópico foi modificado 7 anos, 3 meses atrás por Allyson Souza. Motivo: Formatação de código
Visualizando 13 respostas - 1 até 13 (de um total de 13)
  • Acredito que o correto seria show_admin_bar()

    Da uma olhada no CODEX: https://codex.wordpress.org/Function_Reference/show_admin_bar

    Criador do tópico Angelo Miloch

    (@angelo-miloch)

    Sim, já tentei com show_admin_bar().
    Acontece que quando faço a verificação com if( is_page() ), parece que não verifica.
    Lembrando que esse código tá em functions.php.

    Att

    Moderador Allyson Souza

    (@allysonsouza)

    Olá @angelo-miloch,

    Você já tentou fazer a verificação condicional dentro da função de callback do hook 'show_admin_bar', funciona dessa forma?

    <?php 
    function remove_admin_bar(){
      if( is_page( 'ouca_ao_vivo' ) ) {
        return false;
      } else {
        return true;
      }
    }
    add_filter( 'show_admin_bar' , 'remove_admin_bar');	
    ?>
    • Esta resposta foi modificada 7 anos, 3 meses atrás por Allyson Souza. Razão: Formatação de código
    • Esta resposta foi modificada 7 anos, 3 meses atrás por Allyson Souza.
    Criador do tópico Angelo Miloch

    (@angelo-miloch)

    Fala, @allysonsouza, blz?
    Cara, deu certinho! Imensamente grato!

    Tinha dado um erro porque, nesse código que você mandou, ficou faltando um parênteses do if (is_page() ) {, mas eu coloquei e funcionou certinho.

    Então, para os demais colegas, é só atentar a este detalhe!
    Abraço a todos!

    Moderador Allyson Souza

    (@allysonsouza)

    Que bom @angelo-miloch!

    Editei o comentário também para ajudar quem pegar o código depois 😉

    Criador do tópico Angelo Miloch

    (@angelo-miloch)

    Boa!
    Att

    Criador do tópico Angelo Miloch

    (@angelo-miloch)

    Fala velho, blz? Voltei, pois, surgiu uma dúvida:

    após usar o código acima, percebi que, sempre que faço login/logout no painel, a barra se torna visível no site. Digo, uma versão mais básica, não a que dá acesso ao painel, como ilustra a imagem do link abaixo:

    https://drive.google.com/open?id=0B2OQ-exHwrqDN05aNVJNc1dhX2s

    Ou seja, o if ( is_page () ) verifica se a página é a Ouça Ao Vivo e exclui a barra. No entanto, no restante do site, fica essa barra básica aí mesmo quando não estou logado.

    O que pode ser?
    Att

    Moderador Allyson Souza

    (@allysonsouza)

    Olá @angelo-miloch,

    Tenta incluir um is_user_logged_in().

    <?php 
    function remove_admin_bar(){
      if( is_page( 'ouca_ao_vivo' ) ) {
        return false;
      } elseif( is_user_logged_in() ) {
        return true;
      } else {
        return false;
      }
    }
    add_filter( 'show_admin_bar' , 'remove_admin_bar');	
    ?>
    Criador do tópico Angelo Miloch

    (@angelo-miloch)

    Fala, @allysonsouza!

    Então, desta forma funcionou!
    Quanto está logado, mostra a barra na Home e esconde em Ouça Ao Vivo e, quando desloga, a barra “básica” some também.

    Estranho isso. Sabe dizer por que ela aparecia?

    Muito obrigado pela atenção.
    Abraço!

    Moderador Allyson Souza

    (@allysonsouza)

    Ela aparecia pois faltava a verificação is_user_logged_in() para retornar true na função, ela estava retornando true mesmo que o usuário não estivesse logado.

    Com esse if adicional o código ficou assim:

    • Verifica se a página exibida é a ‘ouca_ao_vivo’, caso seja (independente de usuário logado ou não) não exibe a barra – retorna false
    • Verifica se o usuário está logado, se estiver, exibe a barra – retorna true
    • Caso não caia em nenhuma das condições acima, não exibe a barra – retorna false

    E é isso!

    • Esta resposta foi modificada 7 anos, 3 meses atrás por Allyson Souza.
    Criador do tópico Angelo Miloch

    (@angelo-miloch)

    Legal! Entendi as verificações.

    A questão, agora, é a seguinte: por padrão, o WordPress não mostra a barra quando não se está logado.

    Logo, a partir do momento em que eu altero uma condição para ele ocultar a barra, no functions.php, ele passa a mostrar. É como se as configurações “padrões” fossem desativadas?

    Att

    Moderador Allyson Souza

    (@allysonsouza)

    Exatamente @angelo-miloch, a partir do momento que você escolhe atribuir uma função no hook show_admin_bar você tem o controle de quando irá ou não exibir, sobrescrevendo o padrão do WordPress.

    Criador do tópico Angelo Miloch

    (@angelo-miloch)

    Legal! Agora tudo faz sentido!
    Obrigado pelas dicas velho.

    Abraço!

Visualizando 13 respostas - 1 até 13 (de um total de 13)
  • O tópico ‘Remover admin bar de página específica’ está fechado para novas respostas.