Surcharge de squelette, thème enfant non fonctionnel

Présentation du Kit Web du CNRS Forums Utilisation du Kit Web CNRS Surcharge de squelette, thème enfant non fonctionnel

Étiqueté : 

6 sujets de 1 à 6 (sur un total de 6)
  • Auteur
    Messages
  • #1380
    Seguinot Christophe
    Participant

    Bonjour

    Nous aurons besoin de modifier quelques templates utilisés par le kit. WordPress utilise le concept de thème enfant https://codex.wordpress.org/fr:Th%C3%A8mes_Enfant permettant de surcharger quelques fichiers du thème, sans modifier le thème principal. Cela permet de résister aux mises à jour du thème principal (les mises à jour effacerait des modifications faite au thème principal: il ne faut donc jamais modifier les fichiers du thème principal)

    J’ai tenté de mettre en place un thème enfant (cnrswebkit-IRCICA), mais il n’est pas fonctionnel. Notamment le fichier css /library/css/cnrs_dyn.css n’est pas chargé.
    J’ai copié ce fichier dans le thème enfant cnrswebkit-IRCICA/library/css/cnrs_dyn.css (mais cela ne fonctionne pas, et cela n’est pas la bonne méthode)
    J’ai cherché comment ce fichier css était chargé, sans trouver.

    Qui aurait une idée?

    Cordialement

    #1388
    Seguinot Christophe
    Participant

    Bonjour
    Encore 6 heures de perdues pour trouver une solution, mais le problème viendrait du plugin WP-SCSS utilisé par le kit.

    • Si vous avez commencer à créer du css personnalisé : sauvegarde celui dans un fichier texte.
    • Créer un thème enfant (voir ici : https://codex.wordpress.org/fr:Th%C3%A8mes_Enfant)
    • copier tout le répertoire /library du thème cnrswebkit vers votre thème enfant (sinon WP-SCSS ne régénère pas les style du thème! Il semble que cela soit un bug de WP-SCSS))
    • changer de thème en activant le thème enfant
    • Aller dans « CSS personnalisé » pour y copier le CSS sauvegardé (attention j’ai du m’y prendre par 4 fois pour que le nouveau contenu soit réellement pris en compte!!)
    • aller dans les menus de personnalisation du thème,pour y faire les mes réglages que ceux que vous avez fait pour le thème cnrswebkit
    • aller dans apparence/menus, enregistre les menus pour les régénérer
    • A ce stade, votre site doit être opérationnel
    • Pour surcharger un template (par exemple /template-parts/bottom-partenaire.php)
    • Créer un fichier /template-parts/bottom-partenaire.php dans le thème enfant, et personalisé ce dernier qui ne sera pas effacé lors des mise à jour du thème principal cnrswebkit

    Bon usage

    #6520
    dgirod
    Participant

    Bonjour,
    j’ai créé un thème enfant en y ajoutant un fichier functions.php et en copiant le contenu du répertoire library comme indiqué ci-dessus. Dans le tableau de bord, le thème enfant est affiché comme étant installé mais incomplet (feuille de style absente).
    Autre question : comment fait-on pour qu’un template apparaisse dans la liste ?
    Cordialement

    #7907

    De mon côté j’ai bien réussi à créer un thème enfant avec succès :
    1. création des 2 fichiers style.css et functions.php comme indiqués dans la doc WordPress
    2. je confirme que cela ne suffit pas et que comme l’a dit Christophe ci-dessus, il faut également reprendre le dossier library, mais en ce qui me concerne, plutôt que d’en faire une copie, j’ai simplement fait un lien symbolique qui pointe vers le dossier library du cnrskitweb, et cela fonctionne tout aussi bien (et ça prend moins de place sur le disque). Par contre effectivement si jamais on veut surcharger certains fichiers présents dans ce dossier library, là, il faudra le copier !
    3. on ajoute aussi un screenshot.png pour faire joli (et éventuellement un rtl.css, toujours d’après la doc)

    => je suppose que vous avez peut-être oublié de créer le fichier style.css ? (ou bien qu’il contient une erreur de syntaxe ?)

    #7960
    veroh
    Participant

    Bonjpur,
    Votre thème enfant du kit CNRS fonctionne parfaitement ?
    Qu’avez vous mis comme fichier basique function.php ?
    Merci ,
    Véronique

    #7964
    Cartier Nicolas
    Participant

    Bonjour,
    Il y 2 manières de faire un thème enfant.

    1• La première est de créer un fichier style.css à la racine de votre thème enfant et y ajouter le code suivant :

     /*
     Theme Name:   GIS 
     Description:  Thème enfant de CNRS Web Kit
     Author:       Nicolas - Monagraphic
     Author URI:   http://www.monagraphic.com
     Template:     cnrswebkit
     Version:      1.0.0
    */
    
    @import url("../cnrswebkit/style.css");

    2• La deuxième est de passer par une fonction qui va charger le style.css du thème parant :

    add_action( 'wp_enqueue_scripts', 'theme_enqueue_styles' );
    function theme_enqueue_styles() {
        wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );
    
    }

    Pour les ficheirs SCSS, il faut savoir que c’est un langage non standard (contrairement au CSS). Il faut donc copier / coller le dossier entier dans le thème enfant pour pouvoir l’override.

    Nicolas.

6 sujets de 1 à 6 (sur un total de 6)
  • Vous devez être connecté pour répondre à ce sujet.