Come rimuovo la barra di amministrazione (stile) solo dal frontend?


10

Una volta effettuato l'accesso, la barra di amministrazione aggiunge quanto segue alla <head>sezione della mia pagina :

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

Ora, posso rimuoverlo disabilitando la barra di amministrazione

/* Disable the Admin Bar. */
add_filter( 'show_admin_bar', '__return_false' );

o rimuovendolo completamente

/* Remove admin bar */
remove_action('init', 'wp_admin_bar_init');

Vorrei mantenere la barra di amministrazione nell'interfaccia di amministrazione e rimuovere solo il CSS dal front-end.

Uso già il ripristino CSS dove ho impostato margin: 0px, ma lo stile della barra di amministrazione ha la precedenza su questo.

Quindi, come posso rimuovere lo styling dal front-end?

PS. So di poter disabilitare la barra di amministrazione per utente, ma non è quello che voglio.

Risposte:


21
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' );

Modificare:

Come suggerito da @Walf nei commenti, questo potrebbe essere scritto come:

add_filter('show_admin_bar', 'is_blog_admin');

1
Ah :) Stavo testando l'amministratore quando ho provato qualcosa di simile. Dimenticato il is_blog_admin. Grazie :)
Steven,

quale file fa questo ... Sono abbastanza nuovo su WP ...

@HiroProtagonist può essere definito in qualsiasi plugin o in Functions.php del tuo tema.
Maxim Krizhanovsky,

2
Puoi accorciarlo un po ':add_filter( 'show_admin_bar', function (){ return is_blog_admin() });
MiCc83

1
Puoi accorciarlo molto : add_filter('show_admin_bar', 'is_blog_admin');ho suggerito la modifica ma è stata respinta. Immagino che i due potenti revisori lo abbiano visto come un cambiamento eccessivo senza rendersi conto che è esattamente lo stesso.
Walf

5

se vuoi rimuovere la barra di amministrazione (barra degli strumenti) E il CSS di bump dalla tua pagina, usa questo:

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' );

La _admin_bar_bump_cbfunzione è quella che inserisce il CSS (che si trova in wp-Includes / admin-bar.php)


1

Vorrei fare qualcosa del genere:

Rimuovere la barra di amministrazione / CSS nella classe head / body

show_admin_bar(false);

o se vuoi solo: rimuovere il htmlmargine CSS in alto<head>

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

Testato: versione 4.7.3


0

Di recente ho dovuto farlo, volevo solo rimuovere gli stili CSS inline predefiniti di wordpress (per la barra di amministrazione), ma volevo che la barra di amministrazione rimanesse. Stavo visualizzando la barra di amministrazione nella parte inferiore della pagina, non nella parte superiore.

Ecco cosa mi sono liberato di iniettare gli stili dalla funzione _admin_bar_bump_cb per me. Ho aggiunto quanto segue al mio function.php

// remove wordpress trying to style the admin bar with inline css
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' );
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.