Cum să elimin bara de administrare (stilizarea) doar din frontend?

5 oct. 2011, 11:28:16
Vizualizări: 27.2K
Voturi: 15

Când sunt autentificat, bara de administrare adaugă următorul cod în secțiunea <head> a paginii mele:

<style media="screen" type="text/css">
    html { margin-top: 28px !important; }  
    * html body { margin-top: 28px !important; }
</style>

Pot elimina acest lucru dezactivând bara de administrare

/* Dezactivează Bara de Administrare */
add_filter( 'show_admin_bar', '__return_false' );

sau eliminând-o complet

/* Elimină bara de administrare */
remove_action('init', 'wp_admin_bar_init');

Aș dori să păstrez bara de administrare în interfața de admin și să elimin doar CSS-ul din frontend.

Folosesc deja CSS reset unde setez margin: 0px, dar stilizarea barei de administrare suprascrie această setare.

Deci cum pot elimina stilizarea din frontend?

PS. Știu că pot dezactiva bara de administrare per utilizator, dar nu asta îmi doresc.

1
Comentarii

Acest răspuns îți rezolvă întrebarea? Elimină bara de administrare de sus

T.Todua T.Todua
14 mai 2020 23:31:49
Toate răspunsurile la întrebare 4
8
29
function hide_admin_bar_from_front_end(){
  if (is_blog_admin()) {
    return true;
  }
  return false;
}
add_filter( 'show_admin_bar', 'hide_admin_bar_from_front_end' );

Edit:

După cum a sugerat @Walf în comentarii, acest cod poate fi scris și astfel:

add_filter('show_admin_bar', 'is_blog_admin');
5 oct. 2011 11:47:25
Comentarii

Ah :) Testam pentru admin când am încercat ceva similar. Am uitat de is_blog_admin. Mersi :)

Steven Steven
5 oct. 2011 12:08:28

în ce fișier trebuie pus asta...sunt destul de nou în WP...

User User
3 oct. 2012 16:46:00

@HiroProtagonist poate fi definit în orice plugin sau în functions.php al temei tale.

Maxim Krizhanovsky Maxim Krizhanovsky
3 oct. 2012 17:17:05

Aceasta nu elimină CSS-ul margin-top: 28px !important din front-end totuși?

jjeaton jjeaton
14 mai 2013 02:18:38

Mersi frate...a mers perfect

Shwet Shwet
29 mai 2013 10:18:07

Poți să-l scurtezi puțin: add_filter( 'show_admin_bar', function (){ return is_blog_admin() });

Alessandro Benoit Alessandro Benoit
26 apr. 2016 15:19:25

Poți să o scurtezi mult: add_filter('show_admin_bar', 'is_blog_admin'); Am sugerat editarea dar a fost respinsă. Cred că cei doi evaluatori experimentați au văzut-o ca o schimbare prea mare fără să realizeze că este exact același lucru.

Walf Walf
14 nov. 2019 07:19:37

Mulțumesc. M-a ajutat :)

Arman H Arman H
7 oct. 2020 13:35:03
Arată celelalte 3 comentarii
0

Dacă dorești să elimini bara de administrare (toolbar) ȘI CSS-ul adăugat de pe pagina ta, folosește acest cod:

function wpse_99333_hide_admin_bar_from_front_end(){
  if ( is_blog_admin() ) {
    return true;
  }
  remove_action( 'wp_head', '_admin_bar_bump_cb' );
  return false;
}
add_filter( 'show_admin_bar', 'wpse_99333_hide_admin_bar_from_front_end' );

Funcția _admin_bar_bump_cb este cea care inserează CSS-ul (se află în wp-includes/admin-bar.php)

14 mai 2013 02:22:17
0

Aș face ceva de genul:

Elimină bara de administrare / CSS în head / clasa body

show_admin_bar(false);

sau dacă dorești doar să: Elimini margin-top CSS din html în <head>

function remove_admin_bar_bump() {
   remove_action('wp_head', '_admin_bar_bump_cb');
}
add_action('get_header', 'remove_admin_bar_bump');

Testat pe: Versiunea 4.7.3

5 sept. 2016 14:27:12
0

Recent am avut nevoie să fac acest lucru, voiam doar să elimin stilurile CSS implicite inline ale WordPress (pentru bara de administrare), dar totuși să păstrez bara de administrare. Afișam bara de administrare în partea de jos a paginii, nu în partea de sus.

Iată ce a eliminat injectarea stilurilor din funcția _admin_bar_bump_cb pentru mine. Am adăugat următoarele în fișierul meu functions.php

// elimină încercarea WordPress de a formata bara de administrare cu CSS inline
function hide_admin_bar_from_front_end(){
  remove_action( 'wp_head', '_admin_bar_bump_cb' );
  return true;
}
add_filter( 'show_admin_bar', 'hide_admin_bar_from_front_end' );
8 nov. 2013 22:00:55