Pour personnaliser un thème (et pas pour en créer un), on ne modifie pas le thème, mais on crée un thème enfant.
Un thème enfant est un thème qui hérite le fonctionnement et le style d'un autre thème (dit parent), mais il peut avoir des règles CSS différentes et plus de fichiers modèles.
Pourquoi ne pas modifier directement un thème ?
Les thèmes ont des mises à jours. En utilisant un thème enfant, vous pouvez mettre à jour le thème parent sans écraser vos modifications
Quand on modifie un thème, on se limite à changer les règles CSS, modifier quelques textes...
Il est plus difficile de changer sa structure ou ses fonctionnalités. Donc cherchez bien votre thème parent.
Pour créer un thème enfant, il faut faire 3 choses :
style.css
functions.php
Normalement, le thème enfant s'appelle comme son parent, mais avec le suffixe -child
.
Il faut le placer dans wp-content/themes/
Dedans, il faut créer un fichier style.css
qui contient au moins le code suivant :
/*
Theme Name: Twenty Sixteen Child
Template: twentysixteen
*/
En pratique, vous allez copier le fichier style.css
du thème parent et modifier l'en-tête.
Il faut aussi créer un fichier functions.php
qui contient seulement ceci :
<?php
add_action( 'wp_enqueue_scripts', 'my_theme_enqueue_styles' );
function my_theme_enqueue_styles() {
$parent_style = 'parent-style'; // Remplacer parent-style
wp_enqueue_style( $parent_style, get_template_directory_uri() . '/style.css' );
wp_enqueue_style( 'child-style',
get_stylesheet_directory_uri() . '/style.css',
array( $parent_style ),
wp_get_theme()->get('Version')
);
}
?>
En plus de renommer cette fonction et son appel dans le add_action
, il faut modifier la valeur de la variable $parent_style
(appelé handle).
Le handle du thème parent se trouve dans son fichier functions.php
. Il faut chercher dans les fonctions wp_enqueue_style()
.
Créez un thème enfant pour le thème «Twenty Sixteen» en suivant les étapes précédentes.
Vous devez rendre le répertoire racine de votre thème enfant.
Une fois votre thème enfant a été créé, il est visible sur le back office de votre site web.
Prenez une capture d'écran du back office de votre site WordPress, où on voit le thème enfant.
Activez-le.
Chaque fichier du thème enfant (sauf functions.php
!) écrase le même fichier dans le thème parent.
Typiquement, vous allez copier le fichier style.css
, modifier l'en-tête, et puis vous modifiez les règles CSS comme vous voulez.
Vous pouvez aussi copier un fichier modèle (template file) pour le modifier : changer un texte, ajouter une classe...
Le fichier functions.php
du thème enfant est chargé avant le fichier functions.php
du thème parent, il ne l'écrase pas.
Si une fonctions dans le fichier functions.php
du thème parent est entourée d'un if (functions_exists(..., alors on peut la redéfinir dans le fichier functions.php
du thème enfant.
Faites le nécessaire pour que, dans la page web d'un article, les liens vers les articles précédent et suivant soient comme dans le thème «Twenty Seventeen».
Remplacez les textes «X réflexions sur Y», «Laisser un commentaire» (le titre) et «Laisser un commentaire» (le bouton) par des textes moins sérieux.
Modifiez les règles CSS pour que, dans la page d'accueil, l'espace entre l'auteur de l'article et le contenu de l'article soit plus petit.
Envoyer par AMeTICE le fichier m3202-td4.zip avec la structure d'habitude dans «Exercices à rendre du TD 4/5».
Vous pouvez soumettre une bonne question sur ce qu'on a vu aujourd'hui dans «Question à rendre du TD 4/5»