web-dev-qa-db-fra.com

Comment charger les css dans le pied de page

J'essayais de déplacer la charge de mon style.css dans le pied de page de mon thème wordpress. J'ai déjà fait quelque chose de similaire avec 2 fichiers js et cela fonctionne bien, ils se chargent dans le pied de page:

function my_init() {
    if (!is_admin()) {
        wp_deregister_script('jquery');
        wp_register_script('jquery', 'http://www.studionews24.com/wp-content/themes/network/js/jquery.min.js', false, '1.3.2', true);
        wp_enqueue_script('jquery');

        // load a JS file from my theme: js/theme.js
        wp_enqueue_script('my_script', 'http://www.studionews24.com/wp-content/themes/network/js/menu-resp.js', array('jquery'), '1.0', true);
    }
}
add_action('init', 'my_init');

Maintenant, j'essayais de déplacer le style.css dans le pied de page et de ne garder que quelques règles CSS en ligne dans la balise. J'ai essayé wp_enqueue_style mais il semble que ça ne marche pas bien pour moi.

Quelqu'un pourrait m'aider à trouver une solution intelligente?

11
Giulio Bambini

En fait, tous les styles doivent être placés dans l'en-tête. Donc, WordPress n'a pas de paramètre pour cela dans la fonction wp_enqueue_style, car tous les styles étaient traditionnellement ajoutés dans la head. Récemment, de nombreux sites ont migré vers un système où les styles critiques "au-dessus du pli" sont chargés dans la tête, tandis que les autres styles sont chargés dans le pied de page.

Voici donc un moyen de procéder: Vous pouvez utiliser la fonction print_late_styles() qui est appelée dans le pied de page. Vous avez juste besoin de mettre vos styles en file d'attente lorsque l'en-tête est déjà passé.

Vous devez donc trouver un hook appelé à chaque page et après le hook wp_head. Par exemple, get_footer pourrait en être un.

function prefix_add_footer_styles() {
    wp_enqueue_style( 'your-style-id', get_template_directory_uri() . '/stylesheets/somestyle.css' );
};
add_action( 'get_footer', 'prefix_add_footer_styles' );
24
Emetrop