Bonjour, j'ai un problème avec le CSS dans le (vieux) tuto "Créer un site Wordpress depuis une maquette HTML". Le code décrit dans le tuto, récupéré de Twentyten, et qui sert à lier le CSS dans le header n'existe pas dans les nouveaux thème de Worpress 4.1.1. Je ne trouve aucune ligne qui pourrait me faire penser à un appel de CSS. Quelqu'un connait la nouvelle procédure ?
Merci beaucoup !!

17 réponses


hatfab
Auteur
Réponse acceptée

Voilà, j'ai réussi grâce a vos indication, et en fait, il manquait le <?php get_header(); ?> et le get_footer(); ?> dans l'index.
Merci de votre aide !

Bonjour, moi personnellement je fais comme ça :

//dans le fichier functions.php du theme

function theme_scripts()
{
    wp_enqueue_style("theme-style", get_stylesheet_uri());
}
add_action("wp_enqueue_scripts", "theme_scripts");

"get_stylesheet_uri()" correspond au fichier "style.css" à la racine de ton thème

hatfab
Auteur

Bonsoir, et si on met directement ""get_stylesheet_uri()" " dans le header ça marche aussi ?

Je dirais que oui, mais faut essayer.

hatfab
Auteur

Je viens d'essayer, ça marche pas. Le fichier style.css doit bien est bien au même niveau que les autes pages c'est ça ?

Oui à la racine de ton thème.
Tu peux essayer ça :

<link rel="stylesheet" type="text/css" href="<?php bloginfo( 'stylesheet_url' ); ?>"/>
hatfab
Auteur

Ça marche pas non plus; Ce qui m'étonne c'est que dans le header.php d'un thème standard Wordpress, genre Twentyfourteen il n'y a rien qui ressemble à ça… regarde :

<?php
/**
 * The Header for our theme
 *
 * Displays all of the <head> section and everything up till <div id="main">
 *
 * @package WordPress
 * @subpackage Twenty_Fourteen
 * @since Twenty Fourteen 1.0
 */
?><!DOCTYPE html>
<!--[if IE 7]>
<html class="ie ie7" <?php language_attributes(); ?>>
<![endif]-->
<!--[if IE 8]>
<html class="ie ie8" <?php language_attributes(); ?>>
<![endif]-->
<!--[if !(IE 7) & !(IE 8)]><!-->
<html <?php language_attributes(); ?>>
<!--<![endif]-->
<head>
    <meta charset="<?php bloginfo( 'charset' ); ?>">
    <meta name="viewport" content="width=device-width">
    <title><?php wp_title( '|', true, 'right' ); ?></title>
    <link rel="profile" href="http://gmpg.org/xfn/11">
    <link rel="pingback" href="<?php bloginfo( 'pingback_url' ); ?>">
    <!--[if lt IE 9]>
    <script src="<?php echo get_template_directory_uri(); ?>/js/html5.js"></script>
    <![endif]-->
    <?php wp_head(); ?>
</head>

Le thème "Twentyfourteen" utilise ma première solution. Si tu ouvre le fichier functions.php et tu recherches "twentyfourteen_scripts()" tu vas tomber sur quelle que chose de similaire à mon premier exemple.

hatfab
Auteur

J'ai effectivement trouvé ce que tu dis. J'ai fai ça :

<?php
function olga_scripts() {
    wp_enqueue_style( 'olga-style', get_stylesheet_uri() );
}
add_action("wp_enqueue_scripts", "olga_scripts");
?>

Mais ça marche toujours pas :(

hatfab
Auteur

Le fichier "functions.php" est loadé automatiquement ?

Oui il est chargé automatiquement. Es-tu sûr que ton "style.css" se trouve au même niveau que ton index.php, header.php, etc. et que tu n'as pas fait de faute de frappe sur "style.css".

J'ai des connaissances de base pour WP, je ne pourrais pas plus d'aider.

hatfab
Auteur

Oui, tout est là, et bien nommé…

Je vais continuer de chercher, merci de ton aide en tout cas…

Salut !
J'ai commencé à manier Wordpress que récemment et j'ai aussi eu un peu de mal au début.

Est-ce que les fonctions <?php wp_head(); ?> et <?php wp_footer(); ?> sont présentes dans ton fichier header.php et footer.php ? Elles sont importantes car elles permettent de charger les fonctions, scripts ...

Perso dans mon fichier de fonction j'ai placé ça pour charger mon style.css :
wp_enqueue_style( 'style', get_stylesheet_uri() );'style' est le nom du fichier css à charger.

hatfab
Auteur

Salut Metylene,
Est-ce que c'est

wp_enqueue_style( 'style.css', get_stylesheet_uri() );

si ma feuille de style se nomme style.css ou simplement style ?

Merci

Le nom de mon dossier est style, son extenction est .css, il faut que tu laisse 'style'.

<?php
function olga_scripts() {
    wp_enqueue_style( 'olga-style', get_stylesheet_uri() );
}
add_action("wp_enqueue_scripts", "olga_scripts");
?>

Mais si tu as ça déjà, il faut que tu remplace 'olga-style' par 'style'

hatfab
Auteur

Oui, j'ai fini par comprendre, merci, ça fonctionne ! :)

Ah oui je n'ai pas vu ton message validé :)