{"id":236254,"date":"2022-03-20T16:29:00","date_gmt":"2022-03-20T13:29:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=236254"},"modified":"2022-05-16T10:55:39","modified_gmt":"2022-05-16T07:55:39","slug":"comment-faire-des-personnalisations-avec-un-theme-enfant","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/fr\/comment-faire-des-personnalisations-avec-un-theme-enfant\/","title":{"rendered":"Comment faire des personnalisations avec un th\u00e8me enfant"},"content":{"rendered":"<p>Ce tutoriel n&rsquo;est pas pour tout le monde.<\/p>\n<p>Vous n&rsquo;avez pas besoin d&rsquo;\u00eatre un d\u00e9veloppeur exp\u00e9riment\u00e9 pour suivre, mais vous avez besoin d&rsquo;un v\u00e9ritable int\u00e9r\u00eat pour en savoir plus sur WordPress et le fonctionnement des th\u00e8mes.<\/p>\n<p>Si vous n&rsquo;avez pas peur de travailler avec un peu de code et de vous salir les mains avec certains fichiers de th\u00e8me, alors bienvenue \u00e0 bord !<\/p>\n<p>Dans ce guide, vous apprendrez \u00e0 personnaliser votre site WordPress \u00e0 votre guise en utilisant un th\u00e8me enfant, mais d&rsquo;abord\u2026<\/p>\n<p>Voyons exactement pourquoi vous devriez m\u00eame utiliser cette chose \u00e9trange appel\u00e9e &quot;th\u00e8me enfant&quot;.<\/p>\n<h2>Pourquoi utiliser un th\u00e8me enfant ?<\/h2>\n<p>R\u00e9p\u00e8te apr\u00e8s moi:<\/p>\n<p>Je jure solennellement de ne jamais modifier un fichier de th\u00e8me.<\/p>\n<p>Les nouveaux utilisateurs de WordPress qui souhaitent effectuer des personnalisations avec du code modifient souvent directement les fichiers de leur th\u00e8me. C&rsquo;est un grand non-non.<\/p>\n<p>Pourquoi?<\/p>\n<p>Une raison: lorsque vous mettez \u00e0 jour votre th\u00e8me, WordPress remplacera votre th\u00e8me existant par la nouvelle version du th\u00e8me.<\/p>\n<p>Alors pourquoi est-ce important ?<\/p>\n<p>Imaginez que vous utilisez la version 1.04 du th\u00e8me <a href=\"https:\/\/www.competethemes.com\/challenger\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Challenger<\/a>. Vous avez d\u00e9plac\u00e9 le menu dans le fichier header.php et ajout\u00e9 un nouveau CSS \u00e0 style.css. Ensuite, la version 1.05 sort et vous voyez la notification dans votre tableau de bord.<\/p>\n<p>Lorsque vous mettez \u00e0 jour vers la v1.05, les fichiers header.php et style.css seront remplac\u00e9s par ceux de la v1.05 de Challenger. Ils ne contiendront pas les m\u00eames modifications que vous avez apport\u00e9es, votre travail sera donc perdu et il n&rsquo;y a aucun moyen de le r\u00e9cup\u00e9rer. Cela peut \u00eatre assez d\u00e9courageant si vous avez pass\u00e9 des heures dans vos personnalisations.<\/p>\n<p>Cependant, si vous placez vos personnalisations dans un th\u00e8me enfant Challenger, vous pouvez mettre \u00e0 jour en toute s\u00e9curit\u00e9 vers la version 1.05 sans perdre aucune de vos personnalisations car elles sont stock\u00e9es en toute s\u00e9curit\u00e9 dans le th\u00e8me enfant.<\/p>\n<p>Cela deviendra un peu plus clair au fur et \u00e0 mesure que nous passerons \u00e0 un exemple r\u00e9el, alors allons-y et cr\u00e9ons un th\u00e8me enfant maintenant.<\/p>\n<h2>Comment cr\u00e9er un th\u00e8me enfant<\/h2>\n<p>Bien que je ne vais pas expliquer en d\u00e9tail comment tout le code fonctionne ici, ce sont les id\u00e9es de base et les extraits dont vous avez besoin pour commencer.<\/p>\n<h3>Configuration de base<\/h3>\n<p>Commencez par cr\u00e9er un dossier vide sur votre bureau. Vous pouvez le nommer comme vous le souhaitez, mais la convention de nommage standard consiste \u00e0 utiliser le nom du th\u00e8me en minuscule suivi de \u00ab\u00a0enfant\u00a0\u00bb et de remplacer les espaces par des tirets.<\/p>\n<p>Par exemple, un th\u00e8me enfant pour le th\u00e8me Challenger aurait un nom de dossier \u00abchallenger-child \u00bb. Ce dossier contiendra tous les fichiers du th\u00e8me enfant.<\/p>\n<p>Vous n&rsquo;avez besoin que d&rsquo;un fichier pour cr\u00e9er un th\u00e8me enfant techniquement valide, style.css.<\/p>\n<h3>Cr\u00e9er le fichier style.css<\/h3>\n<p>\u00c0 l&rsquo;aide de l&rsquo;\u00e9diteur de code de votre choix, cr\u00e9ez un nouveau fichier dans le dossier du th\u00e8me enfant et nommez-le style.css.<\/p>\n<p>Le fichier style.css est, bien s\u00fbr, l&rsquo;endroit o\u00f9 vous ajouterez tous vos CSS pour personnaliser votre site. Pour que WordPress reconnaisse votre th\u00e8me enfant comme un th\u00e8me valide, vous devez ajouter un en-t\u00eate de feuille de style comme celui-ci tout en haut de style.css :<\/p>\n<pre><code>\/*\n Theme Name:   Challenger Child\n Template:     challenger\n Author:       Compete Themes\n Version:      1.0\n Author URI:   https:\/\/www.competethemes.com\n Description:  This is a child theme used to customize the Challenger WordPress theme.\n License: GNU  General Public License v2 or later\n License URI:  http:\/\/www.gnu.org\/licenses\/gpl-2.0.html\n*\/<\/code><\/pre>\n<p>Vous pouvez copier cet en-t\u00eate exact et l&rsquo;utiliser pour vos propres th\u00e8mes enfants. Changez simplement le nom du th\u00e8me avec le th\u00e8me que vous personnalisez.<\/p>\n<p>La partie la plus importante est la valeur \u00ab\u00a0Template\u00a0\u00bb qui doit \u00eatre d\u00e9finie sur le nom du th\u00e8me parent. En particulier, le nom utilis\u00e9 pour le dossier contenant le th\u00e8me parent.<\/p>\n<p>Avec cela en place, vous pouvez d\u00e9j\u00e0 activer le th\u00e8me enfant via le menu Apparence et l&rsquo;utiliser. Cependant, votre site sera compl\u00e8tement sans style !<\/p>\n<p>Lorsqu&rsquo;un th\u00e8me enfant est activ\u00e9, WordPress ne chargera plus le fichier style.css du th\u00e8me parent et d\u00e9pendra plut\u00f4t de votre th\u00e8me enfant pour le faire.<\/p>\n<p>Voici comment charger les deux feuilles de style\u2026<\/p>\n<h3>Cr\u00e9ez le fichier functions.php<\/h3>\n<p>Dans votre \u00e9diteur de code, cr\u00e9ez un deuxi\u00e8me fichier dans le th\u00e8me enfant et nommez-le functions.php.<\/p>\n<p>Ensuite, ajoutez le code suivant au fichier\u00a0:<\/p>\n<pre><code>&lt;?php \nfunction my_theme_enqueue_styles() { \n  $parent_style = 'parent-style'; \n  wp_enqueue_style( $parent_style, get_template_directory_uri(). '\/style.css' ); \n  wp_enqueue_style( 'child-style', get_stylesheet_directory_uri(). '\/style.css', array( $parent_style ), wp_get_theme()-&gt;get('Version')\n  );\n}\nadd_action( 'wp_enqueue_scripts', 'my_theme_enqueue_styles' );<\/code><\/pre>\n<p>Cette fonction indique \u00e0 WordPress de charger le fichier style.css du th\u00e8me parent, puis de charger le fichier style.css du th\u00e8me enfant par la suite. Le chargement ult\u00e9rieur de la feuille de style du th\u00e8me enfant facilite le remplacement des s\u00e9lecteurs CSS du th\u00e8me parent.<\/p>\n<p>Comme je l&rsquo;ai mentionn\u00e9 pr\u00e9c\u00e9demment, je ne vais pas couvrir ce code ligne par ligne, mais vous pouvez trouver une explication plus d\u00e9taill\u00e9e de cet extrait <a href=\"https:\/\/codex.wordpress.org\/Child_Themes#Creating_a_Child_Theme_from_an_Unmodified_Parent_Theme\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">dans le Codex WordPress<\/a>.<\/p>\n<h2>Personnalisation avec votre nouveau th\u00e8me enfant<\/h2>\n<p>C&rsquo;est tout ce que vous devez faire pour cr\u00e9er un th\u00e8me enfant fonctionnel\u00a0!<\/p>\n<p>Avec la configuration du th\u00e8me enfant, vous pouvez personnaliser votre site de trois mani\u00e8res.<\/p>\n<h3>Ajouter et remplacer des styles<\/h3>\n<p>Vous pouvez ajouter autant de nouveaux CSS dans le fichier style.css du th\u00e8me enfant que vous le souhaitez.<\/p>\n<p>Lorsque vous recherchez des s\u00e9lecteurs \u00e0 utiliser dans votre CSS, ne v\u00e9rifiez pas le fichier style.css du th\u00e8me parent. Tous nos th\u00e8mes utilisent un \u00abpr\u00e9-processeur CSS \u00bb, donc nous ne regardons m\u00eame pas ce fichier! Au lieu de cela, suivez ce <a href=\"https:\/\/themewp.inform.click\/fr\/comment-trouver-des-selecteurs-css-sur-les-sites-wordpress\/\" title=\"processus plus intelligent pour trouver des s\u00e9lecteurs CSS\">processus plus intelligent pour trouver des s\u00e9lecteurs CSS<\/a>, et je pense que vous aurez beaucoup plus de succ\u00e8s en personnalisant votre site.<\/p>\n<h3>Fonctions de remplacement<\/h3>\n<p>Avec un th\u00e8me parent bien cod\u00e9, vous pouvez remplacer n&rsquo;importe laquelle des fonctions trouv\u00e9es dans son fichier functions.php.<\/p>\n<p>Par exemple, chaque fonction de <a href=\"https:\/\/www.competethemes.com\/mission-news\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Mission News<\/a> est encadr\u00e9e par un <code>[function_exists()](https:\/\/php.net\/manual\/en\/function.function-exists.php)<\/code>ch\u00e8que. Cela signifie que vous pouvez copier la fonction dans le fichier functions.php de votre th\u00e8me enfant. Ensuite, vous pouvez apporter les modifications que vous souhaitez \u00e0 la fonction l\u00e0-bas.<\/p>\n<h3>Remplacer les mod\u00e8les<\/h3>\n<p>Une personnalisation courante n\u00e9cessitant un th\u00e8me enfant est la r\u00e9organisation des \u00e9l\u00e9ments. Par exemple, vous souhaiterez peut-\u00eatre d\u00e9placer le titre du message apr\u00e8s l&rsquo;image en vedette plut\u00f4t qu&rsquo;avant.<\/p>\n<p>Vous pouvez prendre n&rsquo;importe quel fichier mod\u00e8le trouv\u00e9 dans le th\u00e8me parent et en placer une copie dans votre th\u00e8me enfant. La version dans le th\u00e8me enfant sera alors charg\u00e9e \u00e0 la place. Cela vous permet d&rsquo;ajouter, de r\u00e9organiser et de supprimer tous les \u00e9l\u00e9ments que vous souhaitez dans n&rsquo;importe quelle partie du site.<\/p>\n<h3>Installation du th\u00e8me enfant<\/h3>\n<p>Une fois que vous \u00eates satisfait de vos modifications, vous pouvez installer le th\u00e8me enfant sur votre site.<\/p>\n<p>Les th\u00e8mes enfants peuvent \u00eatre t\u00e9l\u00e9charg\u00e9s comme les th\u00e8mes WordPress classiques, il ne faut donc qu&rsquo;une minute ou deux pour les activer sur votre site. Suivez ce tutoriel pour installer votre th\u00e8me enfant\u00a0:<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/fr\/comment-installer-un-theme-enfant-wordpress\/\" title=\"Comment installer un th\u00e8me enfant WordPress\">Comment installer un th\u00e8me enfant WordPress<\/a><\/p>\n<p>Si vous \u00eates totalement nouveau dans tout cela, voici quelques outils gratuits pour vous aider.<\/p>\n<p>Tout d&rsquo;abord, si vous n&rsquo;avez pas d&rsquo;\u00e9diteur de code, consultez <a href=\"https:\/\/code.visualstudio.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Visual Studio Code<\/a>. C&rsquo;est simple mais flexible. Il est \u00e9galement totalement gratuit et de nombreux logiciels professionnels sont cr\u00e9\u00e9s avec. C&rsquo;est ce que j&rsquo;utilise pour cr\u00e9er des th\u00e8mes ici chez Compete Themes.<\/p>\n<p>Deuxi\u00e8mement, cr\u00e9er un site WordPress local (hors ligne) est un excellent moyen d&rsquo;essayer du code sans affecter votre site Web r\u00e9el. Bien que j&rsquo;aie utilis\u00e9 et recommand\u00e9 <a href=\"https:\/\/www.mamp.info\/en\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">MAMP<\/a> dans le pass\u00e9, <a href=\"https:\/\/local.getflywheel.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Local by Flywheel<\/a> est tellement facile et simple \u00e0 utiliser que je l&rsquo;adore. C&rsquo;est ce que j&rsquo;utilise pour le d\u00e9veloppement de th\u00e8mes et c&rsquo;est aussi gratuit.<\/p>\n<h2>Vos mises \u00e0 jour sont en s\u00e9curit\u00e9<\/h2>\n<p>Reprenons l&rsquo;exemple de tout \u00e0 l&rsquo;heure&#8230;<\/p>\n<p>Lors de la mise \u00e0 jour du th\u00e8me Challenger (ou de n&rsquo;importe quel th\u00e8me), l&rsquo;ensemble du r\u00e9pertoire \u00abchallenger\u00bb est remplac\u00e9, ce qui n&rsquo;aura pas d&rsquo;impact sur le th\u00e8me enfant car il poss\u00e8de d\u00e9sormais son propre r\u00e9pertoire dans le dossier \u00abchallenger-child \u00bb.<\/p>\n<p>Une fois votre th\u00e8me enfant en place, vous pouvez effectuer en toute s\u00e9curit\u00e9 toutes les personnalisations que vous souhaitez et maintenir votre th\u00e8me parent \u00e0 jour.<\/p>\n<p>Si vous d\u00e9butez avec CSS et PHP, cela peut vous prendre un certain temps pour obtenir vos personnalisations comme vous le souhaitez, mais avec un th\u00e8me enfant, vous disposez d&rsquo;une excellente base pour travailler. N&rsquo;oubliez pas de <a href=\"https:\/\/themewp.inform.click\/fr\/comment-trouver-des-selecteurs-css-sur-les-sites-wordpress\/\" title=\"suivre ces \u00e9tapes\">suivre ces \u00e9tapes<\/a> pour trouver les s\u00e9lecteurs CSS \u00e0 utiliser, et toutes les personnalisations de style que vous effectuez seront assez simples.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Source d&rsquo;enregistrement:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/www.competethemes.com\" class=\"external external_icon\">www.competethemes.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Apprenez \u00e0 personnaliser votre site WordPress avec un th\u00e8me enfant afin de pouvoir apporter les modifications que vous souhaitez sans perdre vos personnalisations.<\/p>\n","protected":false},"author":1,"featured_media":257616,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[548],"tags":[844],"class_list":["post-236254","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-personnaliser-wordpress","tag-affiai-fr"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/posts\/236254","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/comments?post=236254"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/posts\/236254\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/media\/257616"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/media?parent=236254"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/categories?post=236254"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/tags?post=236254"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}