- Statut : non résolu
- Ce sujet contient 13 réponses, 4 participants et a été mis à jour pour la dernière fois par
Miracle, le il y a 8 années et 7 mois.
-
AuteurMessages
-
30 octobre 2014 à 11 h 22 min #543626
Bonjour,
Ma configuration WP actuelle
– Version de WordPress : 4.0
– Version de PHP/MySQL : 5.4
– Thème utilisé : Newp Pro
– Extensions en place : Breadcrumb NavXT, Contact Form 7, Google Analytics, NextGEN Gallery
– Nom de l’hebergeur : Celeonet
– Adresse du site :Problème(s) rencontré(s) :
Bonjour,
J’ai créé un thème enfant pour Newp Pro, avec l’en-tête habituel. C’est OK.
Problème : Comment modifier les styles décrits dans le fichier « main.css », qui se trouve dans le sous-dossier « css » du thème parent ?
J’ai créé l’arborescence à l’identique dans le thème enfant, mais que dois-je y mettre pour que ça fonctionne ? Une copie du fichier « main.css » ?
Un fichier « main.css » contenant juste les entrées que je veux modifier, avec un en-tête spécifique pour créer les bons liens avec le thème parent, mais alors quel est l’en-tête adapté ?
Ou bien y a-t-il une manip à faire ailleurs, dans les fonctions par exemple ? (de ce côté là, je n’ai rien essayé, mes connaissances en php étant limitées).Aucun de mes essais ne fonctionne. Toute suggestion est la bienvenue !
Merci d’avance.30 octobre 2014 à 13 h 58 min #980240Je continue mes essais…
En ajoutant un fichiers « functions.php » contenant ceci :
<?php
wp_enqueue_style( ‘newp-main-style’, get_stylesheet_directory_uri(). »/css/main.css », array(‘newp-layout’) );
?>la feuille de style « main.css » se charge et les modif apparaissent MAIS je perds une partie de la mise en forme (centrage par exemple).
Je suis consciente que tout cela est bien spécifique, toutefois si quelqu’un a des suggestions notamment sur la syntaxe ou peut-être un principe lié à l’usage des thèmes enfants, je les accueillerai avec enthousiasme…
30 octobre 2014 à 22 h 31 min #980241Bonjour,
Je pense que vous êtes sur la bonne voie, car cela ressemble beaucoup à la solution qui m’avait été donnée ici : http://www.wordpress-fr.net/support/viewtopic.php?id=100907
31 octobre 2014 à 9 h 08 min #980242Pourquoi ne faites vous pas les modifs directement dans le styles.css du thème enfant ?
31 octobre 2014 à 22 h 00 min #980243Pourquoi ne faites vous pas les modifs directement dans le styles.css du thème enfant ?
Parce que ça ne fonctionne pas sans passer par l’ajout d’un wp_enqueue_style dans le fichier functions.php quand le CSS qu’on veut modifier se trouve dans un sous-dossier du thème-parent, et non dans la feuille de style principale.
31 octobre 2014 à 22 h 28 min #980244Désolé, je ne comprends pas: le code entré dans le styles.css du thème enfant ne serait pas pris en compte si il fait référence à un style défini dans un sous-répertoire du thème parent ? Comment ça serait possible ? Un style c’est un style, non ?
31 octobre 2014 à 22 h 55 min #980245Ce qu’il a voulu dire, c’est que le CSS dans le thème enfant prend le dessus sur les feuilles de styles css du thème parent (même en sous-dossier).
La solution ci-dessus est utilisée dans le thème enfant si chaque catégorie à sa propre feuille de style… (ceci est un exemple, il y a surement d’autres cas de figures)
31 octobre 2014 à 23 h 29 min #980246Un style c’est un style, non ?
Évidemment oui, je ne vais pas dire le contraire 😋
le code entré dans le styles.css du thème enfant ne serait pas pris en compte si il fait référence à un style défini dans un sous-répertoire du thème parent ?
C’est exactement ça.
Le style.css du thème-enfant appelle l’import du style.css du thème-parent, avec la fameuse règle : @import url(« ../nomdutheme/style.css »); , on est bien d’accord
Mais on ne peut pas importer (appeler l’import) d’un autre fichier xxxx.css situé dans un sous-dossier.
Ça ne marche pas ! (ça marche pô , comme dirait quelqu’un )Je vous invite à lire le sujet que j’avais créé : http://www.wordpress-fr.net/support/viewtopic.php?id=100907
Extrait :
Flobogo wrote:Problème : le css appliqué au slider est appelé dans le thème-parent à l’aide d’un fichier situé dans un sous-dossier du thème –> air-balloon-lite/css/flexslider.cssJ’ai essayé de copier et modifier une règle dans le style.css du thème-enfant directement, ça ne fonctionne pas.
J’ai essayé d’ajouter la ligne suivante dans le style.css du thème-enfant :
@import url(« ../air-balloon-lite/css/flexslider.css »);
et ça ne fonctionne pas non plusLa solution que m’a apportée Didier07 passait par un wp_enqueue_style dans le fichier functions.php
Je ne comprends pas pourquoi ni à quoi ça sert (et j’aime pas trop appliquer un truc que je ne comprends pas) mais ça a marché : la règle ajoutée dans le style.css du thème-enfant a ensuite été prise en compte.Peut-être qu’il y a des fois où ça fonctionne directement dans le style.css du thème-enfant sans passer par cette fonction, je ne sais pas …
Mais je ne suis pas un cas isolé, j’ai vu récemment au moins une autre demande de ce type sur le forum.1 novembre 2014 à 15 h 56 min #980251Bonjour,
Merci pour vos commentaires. De mon côté je galère toujours sur ce problème. J’ai testé mille trucs (dans le même genre que ceux décrits par Flobogo sur le post cité), en vain.
Je ne comprends pas d’où vient le problème. Est-ce que ça vient du fichier functions.php que j’ai ajouté dans le dossier du thème enfant (et qui permet du moins que s’affichent les modifs apportées sur la feuille de style secondaire (main.css), située dans un sous-dossier du thème enfant pour reproduire l’organisation des dossiers du thème parent.
Les modifs apportées par moi sur main.css concernent essentiellement des couleurs, des bricoles…
Or mon problème, c’est que je perds le centrage du contenu principal. POURQUOI ? (dit-elle en levant les mains au ciel…)
Si quelqu’un peut m’aider à comprendre si le problème vient d’une des feuilles de syle impliquées ou plutôt de mon fchier functions.php, ça serait déjà une piste.
A propos de functions.php, autre chose m’intrigue. Quand j’ai créé le thème enfant, au départ ça ne fonctionnait pas. J’ai donc contacté le créateur du thème Newp-Pro, qui a corrigé quelque chose dans fucntions.php pour que le système des thèmes parent/enfant fonctionne. OK.
Or je m’aperçois que les modifications qu’il a apportées au fichier functions.php portaient justement sur la ligne de code que j’ai récupérée pour l’inclure dans le fichier functions.php du thème enfant.
J’ai donc essayé de modifier aussi cette ligne de code dans le functions.php du thème enfant. Mais alors, non seulement je perds toujours le centrage du contenu principal, mais en plus, mes modifications (de couleurs) apportées à main.css ne sont plus prises en compte. 😡
Cette ligne de code est, dans la version initiale (qui permet que les modifs de main.css soient prises en compte, mais perte du centrage) :
wp_enqueue_style( ‘newp-main-style’, get_stylesheet_directory_uri().’/css/main.css’, array(‘newp-layout’) );
Version corrigée de la ligne de code, qui provoque la perte du centrage sans même que les modif de couleur soient prises en compte :
wp_enqueue_style( ‘newp-main-style’, get_template_directory_uri(). »/css/main.css », array(‘newp-layout’) );
Y a-t-il un php-iste éclairé et bienveillant dans le coin pour éclairer mes ténèbres ?…
Adresse du site (comme il est en chantier, j’en avais protégé l’accès mais tant pis, nécessité fait loi, I need help…) :
http://www.foulon-attelage-equitation.com/1 novembre 2014 à 16 h 02 min #980252P.S. : J’ai désactivé toutes les extensions sauf Contact Form et Akismet, au cas où, en cas que, etc.
1 novembre 2014 à 23 h 40 min #980249La solution, suggérée par Rohit, le créateur du thème à qui j’ai soumis mon problème : utiliser la propriété « !important ».
En pratique, dans mon cas :
– fichier « functions.php » inutile.
– fichier « main.css » dans sous-dossier reproduisant archi du thème parent : inutile.
– copie des classes utiles de « main.css » vers « style.css », modification des valeurs et ajout de « !important » avant le « ; »Tout simple en fait !
Contente 🙂
✅ :lol:😋1 novembre 2014 à 23 h 42 min #980250Info sur la propriété « !important » là : http://www.zonecss.fr/style_css/feuille_css_important.html
A utiliser avec circonspection donc, mais en l’occurrence ça arrange bien mes affaires pour l’instant. Ceci dit, je pense qu’il faudra que je teste abondamment le site sur divers navigateurs.
1 novembre 2014 à 23 h 50 min #980247Ah, il faudra que j’essaye …
Merci pour ces infos 🙂2 novembre 2014 à 0 h 17 min #980248Merci à vous pour votre soutien 🙂
-
AuteurMessages
- Vous devez être connecté pour répondre à ce sujet.