J'essayais de mettre en file d'attente mes feuilles de style mais cela ne fonctionnait pas. Il s'avère que j'avais oublié d'inclure wp_head()
dans mon tag <head>
. Donc je l'ai fait et ensuite mes feuilles de style ont été bien chargées.
Le problème est qu’il faut obtenir une valeur CSS qui ne provient pas de ma feuille de style. Et je ne peux pas non plus le remplacer de ma feuille de style car il semble se charger après le mien. Il a commencé à apparaître dès que j'ai inclus wp_head()
. Si je supprime wp_head()
tout va bien.
Voici la valeur CSS étrange que je reçois:
media="screen"
html {
margin-top: 32px !important;
}
Comme vous pouvez le comprendre, c’est un problème, étant donné que je connais une marge de 32 pixels au-dessus de mes sites Web. Et comme je l’ai dit précédemment, je n’ai aucune idée de la provenance de cette valeur. Je n'utilise aucun plugin et la seule feuille de style mise en file d'attente est mon style.css
et cette valeur ne provient pas de ce fichier. Dans la "console", il est indiqué que la valeur provient de "index" à la ligne 334. Mais je n'ai rien, donc ce doit être quelque chose de WP?
Quelqu'un peut-il m'expliquer d'où provient cette valeur? Et comment puis-je le changer?
Le fait que
<style type="text/css" media="screen">
html { margin-top: 32px !important; }
* html body { margin-top: 32px !important; }
@media screen and ( max-width: 782px ) {
html { margin-top: 46px !important; }
* html body { margin-top: 46px !important; }
}
</style>
est ajouté pour la barre d’administration par wp-core en haut du site.
L'astuce ci-dessous va supprimer ces CSS de votre sortie HTML. Ajoutez simplement ce code à votre functions.php
add_action('get_header', 'my_filter_head');
function my_filter_head() {
remove_action('wp_head', '_admin_bar_bump_cb');
}
UPDATE
Répondre à la demande de starter.
1) La barre d'administration s'affiche par défaut si vous êtes connecté. Son wrapper a id="wpadminbar"
dans votre réponse HTML.
Il a également mis en file d'attente le script /wp-includes/js/admin-bar.min.js
et ajouté "Support Script" au bas de la page.
2) La barre d'administration peut être désactivée lorsque vous affichez le site pour les utilisateurs spécifiés dans la case Utilisateurs -> User_Record -> "Afficher la barre d'outils lors de la visualisation du site".
En outre, il peut être désactivé dans votre functions.php
(à l’aide de show_admin_bar
filtrer comme décrit ici Comment puis-je supprimer la barre d’administrateur (style) du frontal uniquement? )
3) Dans WP le code source _admin_bar_bump_cb()
ressemble à ceci. Vous pouvez le trouver à wp-includes/admin-bar.php
function _admin_bar_bump_cb() { ?>
<style type="text/css" media="screen">
html { margin-top: 32px !important; }
* html body { margin-top: 32px !important; }
@media screen and ( max-width: 782px ) {
html { margin-top: 46px !important; }
* html body { margin-top: 46px !important; }
}
</style>
<?php
}
Cette fonction est utilisée pour être ajoutée comme action à wp_head
à l'intérieur de wp-includes/class-wp-admin-bar.php
de cette manière:
if ( empty($header_callback) )
$header_callback = '_admin_bar_bump_cb';
add_action('wp_head', $header_callback);
En supprimant _admin_bar_bump_cb
de la file d'attente d'actions, vous annulez l'impression de ces styles.