Come rimuovere la barra di amministrazione (stile) solo dal frontend?
Quando si è loggati, la barra di amministrazione aggiunge quanto segue alla sezione <head>
della mia pagina:
<style media="screen" type="text/css">
html { margin-top: 28px !important; }
* html body { margin-top: 28px !important; }
</style>
Ora, posso rimuovere questo disabilitando la barra di amministrazione
/* Disabilita la Barra di Amministrazione. */
add_filter( 'show_admin_bar', '__return_false' );
o rimuovendola completamente
/* Rimuovi la barra di amministrazione */
remove_action('init', 'wp_admin_bar_init');
Vorrei mantenere la barra di amministrazione nell'interfaccia admin e rimuovere solo il CSS dal frontend.
Uso già un reset CSS dove imposto margin: 0px
, ma lo stile della barra di amministrazione sovrascrive questo.
Quindi come posso rimuovere lo stile dal frontend?
PS. So che posso disabilitare la barra di amministrazione per utente, ma non è quello che voglio.

function nascondi_barra_admin_in_frontend(){
if (is_blog_admin()) {
return true;
}
return false;
}
add_filter( 'show_admin_bar', 'nascondi_barra_admin_in_frontend' );
Modifica:
Come suggerito da @Walf nei commenti, questo codice potrebbe essere scritto come:
add_filter('show_admin_bar', 'is_blog_admin');

Ah :) Stavo testando per admin quando ho provato qualcosa di simile. Mi sono dimenticato di is_blog_admin
. Grazie :)

@HiroProtagonist può essere definito in qualsiasi plugin o nel file functions.php del tuo tema.

Questo però non rimuove il CSS margin-top: 28px !important
dal front-end?

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

Puoi accorciarlo molto: add_filter('show_admin_bar', 'is_blog_admin');
Ho suggerito la modifica ma è stata rifiutata. Immagino che i due revisori esperti l'abbiano vista come un cambiamento eccessivo senza rendersi conto che è esattamente la stessa cosa.

Se vuoi rimuovere la barra di amministrazione (toolbar) E il bump CSS dalla tua pagina, usa questo codice:
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 funzione _admin_bar_bump_cb
è quella che inserisce il CSS (si trova in wp-includes/admin-bar.php)

Farei qualcosa del genere:
Rimuovere la barra di amministrazione / CSS nell'head / classe del body
show_admin_bar(false);
o se vuoi semplicemente: Rimuovere il CSS margin-top
da html
nell'<head>
function remove_admin_bar_bump() {
remove_action('wp_head', '_admin_bar_bump_cb');
}
add_action('get_header', 'remove_admin_bar_bump');
Testato su: Versione 4.7.3

Recentemente ho dovuto fare questo, volevo solo rimuovere gli stili CSS predefiniti di WordPress (per la barra di amministrazione) inline, ma volevo che la barra di amministrazione rimanesse. Stavo mostrando la barra di amministrazione in fondo alla pagina, non in alto.
Ecco cosa ha eliminato l'iniezione degli stili dalla funzione _admin_bar_bump_cb per me. Ho aggiunto quanto segue al mio functions.php
// rimuove il tentativo di WordPress di stilizzare la barra di amministrazione con CSS inline
function nascondi_admin_bar_dal_front_end(){
remove_action( 'wp_head', '_admin_bar_bump_cb' );
return true;
}
add_filter( 'show_admin_bar', 'nascondi_admin_bar_dal_front_end' );
