Remover admin bar de página específica
-
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
-
Acredito que o correto seria
show_admin_bar()
Da uma olhada no CODEX: https://codex.wordpress.org/Function_Reference/show_admin_bar
Sim, já tentei com
show_admin_bar()
.
Acontece que quando faço a verificação comif( is_page() )
, parece que não verifica.
Lembrando que esse código tá em functions.php.Att
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.
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!Que bom @angelo-miloch!
Editei o comentário também para ajudar quem pegar o código depois 😉
Boa!
AttFala 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?
AttOlá @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'); ?>
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!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.
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
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.Legal! Agora tudo faz sentido!
Obrigado pelas dicas velho.Abraço!
- O tópico ‘Remover admin bar de página específica’ está fechado para novas respostas.