{"id":80103,"date":"2025-06-12T08:06:07","date_gmt":"2025-06-12T07:06:07","guid":{"rendered":"https:\/\/kinqsta.com\/fr\/?p=80103&#038;preview=true&#038;preview_id=80103"},"modified":"2025-06-16T08:13:16","modified_gmt":"2025-06-16T07:13:16","slug":"themes-hybrides","status":"publish","type":"post","link":"https:\/\/kinqsta.com\/fr\/blog\/themes-hybrides\/","title":{"rendered":"Th\u00e8mes hybrides WordPress : Une approche pour les utilisateurs et les d\u00e9veloppeurs"},"content":{"rendered":"<p><a href=\"https:\/\/kinqsta.com\/fr\/blog\/wordpress-5-9\/\">WordPress 5.9<\/a> a introduit une nouvelle fa\u00e7on de construire des sites web : <a href=\"https:\/\/kinqsta.com\/fr\/blog\/wordpress-full-site-editing\/\">L&rsquo;\u00e9dition compl\u00e8te du site<\/a> (FSE). Ce fut un tournant pour les utilisateurs de WordPress car il a compl\u00e8tement chang\u00e9 la fa\u00e7on dont les th\u00e8mes WordPress sont construits et fonctionnent.<\/p>\n<p>L&rsquo;introduction du FSE a \u00e9galement introduit une distinction entre les th\u00e8mes qui prennent enti\u00e8rement en charge les nouvelles fonctionnalit\u00e9s de construction de sites, \u00e9galement connus sous le nom de th\u00e8mes bas\u00e9s sur des blocs, et les th\u00e8mes traditionnels bas\u00e9s sur PHP, que nous appelons maintenant th\u00e8mes classiques.<\/p>\n<p>Au fil du temps, de nombreuses fonctions con\u00e7ues pour les th\u00e8mes de blocs ont \u00e9t\u00e9 \u00e9tendues aux th\u00e8mes classiques. Cela a donn\u00e9 naissance \u00e0 une troisi\u00e8me cat\u00e9gorie de th\u00e8mes, les th\u00e8mes hybrides, qui sont toujours construits selon la logique et la structure des th\u00e8mes classiques, mais qui prennent en charge diverses fonctions con\u00e7ues pour les th\u00e8mes de blocs.<\/p>\n<p>Cet article explore les th\u00e8mes hybrides, leurs principales caract\u00e9ristiques, la fa\u00e7on dont les d\u00e9veloppeurs peuvent les am\u00e9liorer et quand les choisir plut\u00f4t que les th\u00e8mes bas\u00e9s sur des blocs.<\/p>\n<p>Plongeons dans l&rsquo;aventure !<\/p>\n<figure id=\"attachment_193756\" aria-describedby=\"caption-attachment-193756\" style=\"width: 2940px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-193756 size-full\" src=\"https:\/\/kinqsta.com\/wp-content\/uploads\/2025\/04\/ttt-preview.jpg\" alt=\"Twenty Twenty-Two est le premier th\u00e8me WordPress \u00e0 prendre en charge le FSE.\" width=\"2940\" height=\"1840\"><figcaption id=\"caption-attachment-193756\" class=\"wp-caption-text\">Twenty Twenty-Two est le premier th\u00e8me WordPress \u00e0 prendre en charge le FSE.<\/figcaption><\/figure>\n<div><\/div><kinsta-auto-toc heading=\"Table of Contents\" exclude=\"last\" list-style=\"arrow\" selector=\"h2\" count-number=\"-1\"><\/kinsta-auto-toc>\n<h2>Th\u00e8mes classiques ou hybrides ?<\/h2>\n<p>Avant l&rsquo;introduction des th\u00e8mes de blocs avec <a href=\"https:\/\/kinqsta.com\/fr\/blog\/twenty-twenty-two-themes\/\">Twenty Twenty-Two<\/a> et WordPress 5.9, les th\u00e8mes classiques n&rsquo;existaient pas. Le terme est apparu pour les distinguer des th\u00e8mes de blocs. Les th\u00e8mes classiques sont tous les th\u00e8mes WordPress qui ne prennent pas en charge les fonctions de bloc.<\/p>\n<figure id=\"attachment_193750\" aria-describedby=\"caption-attachment-193750\" style=\"width: 2940px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-193750 size-full\" src=\"https:\/\/kinqsta.com\/wp-content\/uploads\/2025\/04\/tto-preview.jpg\" alt=\"Un aper\u00e7u du th\u00e8me hybride Twenty Twenty-One\" width=\"2940\" height=\"1836\"><figcaption id=\"caption-attachment-193750\" class=\"wp-caption-text\">Un aper\u00e7u du th\u00e8me hybride Twenty Twenty-One<\/figcaption><\/figure>\n<p>Aujourd&rsquo;hui, il n&rsquo;est pas facile de trouver des th\u00e8mes classiques purs car, depuis la version 5.9, ces th\u00e8mes ont \u00e9t\u00e9 enrichis de nombreuses fonctionnalit\u00e9s construites pour les th\u00e8mes de blocs, ce qui rend les exp\u00e9riences d&rsquo;\u00e9dition et de conception des deux cat\u00e9gories de th\u00e8mes de plus en plus proches au fil du temps.<\/p>\n<p>Ceci \u00e9tant dit, la fa\u00e7on dont tu travailles avec les th\u00e8mes hybrides est toujours diff\u00e9rente de celle des th\u00e8mes de blocs.<\/p>\n<h2>Caract\u00e9ristiques de base des th\u00e8mes hybrides<\/h2>\n<p>Avec les th\u00e8mes hybrides, votre site peut profiter des capacit\u00e9s d&rsquo;\u00e9dition de l&rsquo;\u00e9diteur de blocs de WordPress tout en restant compatible avec les extensions et fonctionnalit\u00e9s traditionnels de WordPress tels que les widgets, les menus et les mod\u00e8les de page.<\/p>\n<h3>La personnalisation de WordPress<\/h3>\n<p>Les th\u00e8mes hybrides prennent g\u00e9n\u00e9ralement en charge la <a href=\"https:\/\/kinqsta.com\/fr\/blog\/comment-personnaliser-theme-wordpress\/#customizing-your-theme-via-the-customizer\">personnalisation WordPress<\/a>, un environnement de configuration visuelle qui vous permet d&rsquo;affiner l&rsquo;apparence de votre site WordPress et de pr\u00e9visualiser vos modifications en temps r\u00e9el.<\/p>\n<p>Le th\u00e8me par d\u00e9faut <a href=\"https:\/\/kinqsta.com\/fr\/blog\/theme-twenty-twenty-one\/\">Twenty Twenty-One<\/a> est un bon exemple de th\u00e8me hybride proposant les r\u00e9glages les plus courants de la personnalisation, notamment l&rsquo;identit\u00e9 du site, les couleurs et le mode sombre, l&rsquo;image d&rsquo;arri\u00e8re-plan, les menus, les widgets, les r\u00e9glages de la page d&rsquo;accueil, et bien plus encore.<\/p>\n<figure id=\"attachment_193760\" aria-describedby=\"caption-attachment-193760\" style=\"width: 2372px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-193760 size-full\" src=\"https:\/\/kinqsta.com\/wp-content\/uploads\/2025\/04\/tto-customizer-1.jpg\" alt=\"La personnalisation avec le th\u00e8me Twenty Twenty-One\" width=\"2372\" height=\"1464\"><figcaption id=\"caption-attachment-193760\" class=\"wp-caption-text\">La personnalisation avec le th\u00e8me Twenty Twenty-One<\/figcaption><\/figure>\n<p>Les th\u00e8mes peuvent enregistrer des contr\u00f4les sp\u00e9cifiques de la personnalisation, de sorte que les fonctionnalit\u00e9s varient selon le th\u00e8me. L&rsquo;image suivante montre la personnalisation pour <a href=\"https:\/\/kinqsta.com\/fr\/blog\/theme-wordpress-plus-rapide\/#2-neve\">Neve<\/a>, un th\u00e8me hybride l\u00e9ger de ThemeIsle.<\/p>\n<figure id=\"attachment_194046\" aria-describedby=\"caption-attachment-194046\" style=\"width: 1870px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-194046 size-full\" src=\"https:\/\/kinqsta.com\/wp-content\/uploads\/2025\/04\/wordpress-customizer-neve.jpg\" alt=\"Un aper\u00e7u de la personnalisation pour le th\u00e8me WordPress Neve\" width=\"1870\" height=\"1340\"><figcaption id=\"caption-attachment-194046\" class=\"wp-caption-text\">Un aper\u00e7u de la personnalisation pour le th\u00e8me WordPress Neve<\/figcaption><\/figure>\n<p>Les th\u00e8mes peuvent \u00e9galement enregistrer des fonctionnalit\u00e9s avanc\u00e9es pour donner aux utilisateurs un contr\u00f4le granulaire sur des aspects sp\u00e9cifiques de la conception du site. Neve, par exemple, propose un puissant constructeur pour cr\u00e9er les en-t\u00eates et les pieds de page du site.<\/p>\n<figure id=\"attachment_194047\" aria-describedby=\"caption-attachment-194047\" style=\"width: 1998px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-194047 size-full\" src=\"https:\/\/kinqsta.com\/wp-content\/uploads\/2025\/04\/wordpress-customizer-neve-header-builder.jpg\" alt=\"Neve dispose d'un constructeur d'en-t\u00eate dans la personnalisation.\" width=\"1998\" height=\"1420\"><figcaption id=\"caption-attachment-194047\" class=\"wp-caption-text\">Neve dispose d&rsquo;un constructeur d&rsquo;en-t\u00eate dans la personnalisation.<\/figcaption><\/figure>\n<h3>Blocs de widgets<\/h3>\n<p>Les th\u00e8mes hybrides vous permettent de personnaliser les zones de widgets \u00e0 l&rsquo;aide de blocs, gr\u00e2ce \u00e0 l&rsquo;<a href=\"https:\/\/wordpress.org\/documentation\/article\/block-based-widgets-editor\/\" target=\"_blank\" rel=\"noopener noreferrer\">\u00e9diteur de widgets par blocs<\/a>. Il a \u00e9t\u00e9 introduit pour la premi\u00e8re fois <a href=\"https:\/\/kinqsta.com\/fr\/blog\/wordpress-5-8\/#blockbased-widgets-editor-and-block-widgets-in-the-customizer\">avec WordPress 5.8<\/a>, et vous pouvez l&rsquo;essayer avec n&rsquo;importe quel th\u00e8me classique utilisant des widgets.<\/p>\n<figure id=\"attachment_193761\" aria-describedby=\"caption-attachment-193761\" style=\"width: 2368px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-193761 size-full\" src=\"https:\/\/kinqsta.com\/wp-content\/uploads\/2025\/04\/tto-block-widget.jpg\" alt=\"L'\u00e9cran des widgets dans Twenty Twenty-One\" width=\"2368\" height=\"1376\"><figcaption id=\"caption-attachment-193761\" class=\"wp-caption-text\">L&rsquo;\u00e9cran des widgets dans Twenty Twenty-One<\/figcaption><\/figure>\n<p>L&rsquo;interface de l&rsquo;\u00e9diteur de widgets est similaire \u00e0 celle de l&rsquo;\u00e9diteur de posts. L&rsquo;image suivante montre un bloc Image dans la zone de widgets du pied de page du th\u00e8me Twenty Twenty-One.<\/p>\n<figure id=\"attachment_193992\" aria-describedby=\"caption-attachment-193992\" style=\"width: 2180px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-193992 size-full\" src=\"https:\/\/kinqsta.com\/wp-content\/uploads\/2025\/04\/widget-editor-tto.jpg\" alt=\"L'\u00e9diteur de widgets apporte des fonctionnalit\u00e9s de bloc aux widgets classiques\" width=\"2180\" height=\"1254\"><figcaption id=\"caption-attachment-193992\" class=\"wp-caption-text\">L&rsquo;\u00e9diteur de widgets apporte des fonctionnalit\u00e9s de bloc aux widgets classiques<\/figcaption><\/figure>\n<p>Les widgets classiques tels que les cat\u00e9gories, les archives, les articles r\u00e9cents ou les commentaires r\u00e9cents sont toujours pris en charge dans les th\u00e8mes hybrides. L&rsquo;\u00e9diteur de widgets compl\u00e8te les widgets classiques de WordPress en permettant aux utilisateurs de cr\u00e9er les leurs gr\u00e2ce \u00e0 son interface bas\u00e9e sur des blocs.<\/p>\n<h3>Livre de style et mod\u00e8les de blocs<\/h3>\n<p>Avec les r\u00e9cents <a href=\"https:\/\/kinqsta.com\/fr\/blog\/wordpress-6-8\/#2-style-book-added-to-classic-themes\">changements introduits avec WordPress 6.8<\/a>, les th\u00e8mes hybrides qui <a href=\"https:\/\/developer.wordpress.org\/block-editor\/how-to-guides\/themes\/theme-support\/#editor-styles\" target=\"_blank\" rel=\"noopener noreferrer\">prennent en charge les styles de l&rsquo;\u00e9diteur<\/a> peuvent utiliser le <strong>livre de style<\/strong>, une <a href=\"https:\/\/kinqsta.com\/fr\/blog\/wordpress-6-2\/#style-book\">interface visuelle<\/a> qui permet aux utilisateurs de pr\u00e9visualiser tout bloc pouvant \u00eatre utilis\u00e9 sur leurs sites web sans avoir \u00e0 utiliser ces blocs dans leur contenu.<\/p>\n<p>Vous pouvez acc\u00e9der au carnet de style dans les th\u00e8mes hybrides \u00e0 partir de <strong>Apparence<\/strong> &gt; <strong>Design<\/strong> &gt; <strong>Styles<\/strong>.<\/p>\n<p>L&rsquo;image suivante montre le cahier de style du th\u00e8me hybride Kadence.<\/p>\n<figure id=\"attachment_194055\" aria-describedby=\"caption-attachment-194055\" style=\"width: 2148px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-194055 size-full\" src=\"https:\/\/kinqsta.com\/wp-content\/uploads\/2025\/04\/kadence-style-book.jpg\" alt=\"Le livre de style du th\u00e8me hybride Kadence\" width=\"2148\" height=\"1412\"><figcaption id=\"caption-attachment-194055\" class=\"wp-caption-text\">Le livre de style du th\u00e8me hybride Kadence<\/figcaption><\/figure>\n<p>Dans la m\u00eame interface, vous pouvez parcourir et g\u00e9rer les compositions.<\/p>\n<figure id=\"attachment_194056\" aria-describedby=\"caption-attachment-194056\" style=\"width: 2148px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-194056 size-full\" src=\"https:\/\/kinqsta.com\/wp-content\/uploads\/2025\/04\/blocksy-patterns.jpg\" alt=\"Les compositions du th\u00e8me Blocksy\" width=\"2148\" height=\"1422\"><figcaption id=\"caption-attachment-194056\" class=\"wp-caption-text\">Les compositions du th\u00e8me Blocksy<\/figcaption><\/figure>\n<p>Pour les th\u00e8mes hybrides qui les prennent en charge, les compositions sont disponibles pour \u00eatre utilis\u00e9s dans l&rsquo;<a href=\"https:\/\/kinqsta.com\/fr\/blog\/editeur-wordpress-gutenberg\/\">\u00e9diteur d&rsquo;articles<\/a>, qui est activ\u00e9 par d\u00e9faut sur toutes les installations de WordPress depuis la <a href=\"https:\/\/kinqsta.com\/fr\/blog\/wordpress-5-0\/\">version 5.0<\/a>, \u00e0 moins que vous ne <a href=\"https:\/\/kinqsta.com\/fr\/blog\/desactiver-editeur-gutenberg-wordpress\/\">l&rsquo;ayez d\u00e9sactiv\u00e9 avec l&rsquo;extension Classic Editor<\/a>.<\/p>\n<figure id=\"attachment_194157\" aria-describedby=\"caption-attachment-194157\" style=\"width: 2876px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-194157 size-full\" src=\"https:\/\/kinqsta.com\/wp-content\/uploads\/2025\/04\/patterns-in-the-post-editor.jpg\" alt=\"La section des compositions dans l'insertion de blocs de l'\u00e9diteur d'articles avec le th\u00e8me Twenty Twenty-One.\" width=\"2876\" height=\"1376\"><figcaption id=\"caption-attachment-194157\" class=\"wp-caption-text\">La section des compositions dans l&rsquo;insertion de blocs de l&rsquo;\u00e9diteur d&rsquo;articles avec le th\u00e8me Twenty Twenty-One.<\/figcaption><\/figure>\n<h2>Structure du th\u00e8me : Vue d&rsquo;ensemble du d\u00e9veloppeur<\/h2>\n<p>Les th\u00e8mes classique et de blocs ne sont pas seulement diff\u00e9rents en termes de fonctionnalit\u00e9 pour l&rsquo;utilisateur final. Ils sont \u00e9galement diff\u00e9rents d&rsquo;un point de vue structurel.<\/p>\n<h3>Th\u00e8mes classiques<\/h3>\n<p>Les th\u00e8mes classiques reposent sur quelques fichiers cl\u00e9s, dont le plus important est le fichier <code>style.css<\/code>. Il fournit les <a href=\"https:\/\/developer.wordpress.org\/themes\/core-concepts\/main-stylesheet\/#file-header\" target=\"_blank\" rel=\"noopener noreferrer\">m\u00e9tadonn\u00e9es du th\u00e8me<\/a> et d\u00e9termine l&rsquo;apparence du site sur l&rsquo;interface publique.<\/p>\n<p>En plus de la feuille de style du th\u00e8me, les th\u00e8mes classiques ont g\u00e9n\u00e9ralement un <a href=\"https:\/\/kinqsta.com\/fr\/blog\/wordpress-functions-php\/\">fichier <code>functions.php<\/code><\/a> <span style=\"margin: 0px;padding: 0px\">utilis\u00e9<\/span> <span style=\"margin: 0px;padding: 0px\">pour <\/span> construire les fonctionnalit\u00e9s et l&rsquo;assistance du th\u00e8me.<\/p>\n<p>Les th\u00e8mes classiques s&rsquo;appuient \u00e9galement sur des mod\u00e8les PHP qui d\u00e9finissent la structure d&rsquo;une page et ses principales zones : l&rsquo;en-t\u00eate, le corps, les colonnes lat\u00e9rales et le pied de page. Lorsqu&rsquo;un utilisateur visite un article ou une page, WordPress d\u00e9termine quel mod\u00e8le utiliser pour restituer le contenu \u00e0 l&rsquo;\u00e9cran selon un syst\u00e8me strict de r\u00e8gles connu sous le nom de <a href=\"https:\/\/kinqsta.com\/fr\/blog\/hierarchie-des-modeles-wordpress\/\">hi\u00e9rarchie des mod\u00e8les<\/a>. Les mod\u00e8les les plus couramment utilis\u00e9s sont <code>index.php<\/code>, <code>page.php<\/code>, <code>single.php<\/code>, et bien d&rsquo;autres.<\/p>\n<p>Les th\u00e8mes classiques peuvent utiliser des fonctions PHP sp\u00e9cifiques (<a href=\"https:\/\/kinqsta.com\/fr\/blog\/hooks-wordpress\/\">crochets d&rsquo;action et de filtre<\/a>), qui sont ex\u00e9cut\u00e9es \u00e0 des moments pr\u00e9cis de la vie de WordPress, ce qui permet aux d\u00e9veloppeurs d&rsquo;\u00e9tendre les fonctionnalit\u00e9s d&rsquo;un th\u00e8me \u00e0 l&rsquo;aide d&rsquo;un code PHP dans le fichier <code>functions.php<\/code> d&rsquo;un <a href=\"https:\/\/kinqsta.com\/fr\/blog\/theme-enfant-wordpress\/\">th\u00e8me enfant<\/a>.<\/p>\n<p>Vous devinez sans doute que la personnalisation d&rsquo;un th\u00e8me classique est particuli\u00e8rement difficile pour les utilisateurs qui n&rsquo;ont pas de comp\u00e9tences en codage.<\/p>\n<h3>Th\u00e8mes en blocs<\/h3>\n<p>Les th\u00e8mes de blocs ont \u00e9galement besoin d&rsquo;un <code>style.css<\/code> pour fournir \u00e0 WordPress les m\u00e9tadonn\u00e9es du th\u00e8me, mais ils s&rsquo;appuient fortement sur un <a href=\"https:\/\/kinqsta.com\/fr\/blog\/theme-json\/\">fichier <code>theme.json<\/code><\/a>, un fichier de configuration qui d\u00e9finit les styles et les r\u00e9glages globaux d&rsquo;un th\u00e8me. Il <a href=\"https:\/\/kinqsta.com\/fr\/blog\/travailler-proprietes-paires-cle-valeur-theme-json\/\">contient un objet JSON<\/a> dont les propri\u00e9t\u00e9s d\u00e9finissent les <a href=\"https:\/\/kinqsta.com\/fr\/blog\/wordpress-typographie-theme-json\/\">r\u00e9glages initiaux<\/a> n\u00e9cessaires pour cr\u00e9er la mise en page et d\u00e9finir l&rsquo;<a href=\"https:\/\/kinqsta.com\/fr\/blog\/proprietes-css-personnalisees-theme-json\/\">apparence<\/a> des pages du site.<\/p>\n<p>Les th\u00e8mes de blocs utilisent \u00e9galement des mod\u00e8les et des parties de mod\u00e8les, mais ceux-ci sont structurellement diff\u00e9rents des mod\u00e8les PHP de th\u00e8mes classiques. Dans les th\u00e8mes de blocs, les mod\u00e8les et les parties de mod\u00e8les sont des fichiers HTML contenant des balises sp\u00e9cifiques et des objets JSON. Prenons par exemple le mod\u00e8le <code>home.html<\/code> du th\u00e8me par d\u00e9faut <a href=\"https:\/\/kinqsta.com\/fr\/blog\/theme-twenty-twenty-five\/\">Twenty Twenty-Five<\/a>:<\/p>\n<pre><code class=\"language-html\">&lt;!-- wp:template-part {\"slug\":\"header\"} \/--&gt;\n\n&lt;!-- wp:group {\"tagName\":\"main\",\"style\":{\"spacing\":{\"margin\":{\"top\":\"var:preset|spacing|60\"}}},\"layout\":{\"type\":\"constrained\"}} --&gt;\n&lt;main class=\"wp-block-group\" style=\"margin-top:var(--wp--preset--spacing--60)\"&gt;\n\t&lt;!-- wp:pattern {\"slug\":\"twentytwentyfive\/hidden-blog-heading\"} \/--&gt;\n\t&lt;!-- wp:pattern {\"slug\":\"twentytwentyfive\/template-query-loop\"} \/--&gt;\n&lt;\/main&gt;\n&lt;!-- \/wp:group --&gt;\n\n&lt;!-- wp:template-part {\"slug\":\"footer\"} \/--&gt;<\/code><\/pre>\n<p>Ce mod\u00e8le se compose d&rsquo;\u00e9l\u00e9ments structur\u00e9s sous forme de balises HTML et de commentaires. Les commentaires peuvent faire r\u00e9f\u00e9rence \u00e0 d&rsquo;autres \u00e9l\u00e9ments typiques d&rsquo;un th\u00e8me par blocs, tels que les parties de mod\u00e8les et les mod\u00e8les, qui sont compos\u00e9s de blocs ou d&rsquo;autres \u00e9l\u00e9ments imbriqu\u00e9s.<\/p>\n<h2>Ajout de fonctions de blocs aux th\u00e8mes hybrides<\/h2>\n<p>Comme nous l&rsquo;avons mentionn\u00e9 plus haut, avec les th\u00e8mes classiques, vous devez ajouter un code personnalis\u00e9 pour modifier la mise en page ou les fonctionnalit\u00e9s d&rsquo;un site, ce qui implique souvent des fichiers de mod\u00e8les ou <code>functions.php<\/code>. En revanche, les th\u00e8mes de blocs permettent aux non-d\u00e9veloppeurs de mieux contr\u00f4ler la mise en page et l&rsquo;apparence d&rsquo;un site.<\/p>\n<p>Les th\u00e8mes hybrides offrent moins de fonctions de blocs que les th\u00e8mes classiques, mais peuvent n\u00e9anmoins offrir un meilleur contr\u00f4le de la mise en page et du style gr\u00e2ce \u00e0 des mod\u00e8les et des styles globaux.<\/p>\n<p>Explorons quelques puissantes fonctions de blocs que tu peux int\u00e9grer \u00e0 votre th\u00e8me classique et apprenons \u00e0 les mettre en \u0153uvre de mani\u00e8re efficace.<\/p>\n<div><\/div><kinsta-auto-toc list-style=\"decimal\" selector=\"h3\" count-number=\"5\" sub-toc=\"true\"><\/kinsta-auto-toc>\n<h3>Styles globaux<\/h3>\n<p><a href=\"https:\/\/kinqsta.com\/fr\/blog\/wordpress-5-8\/\">WordPress 5.8<\/a> a introduit les styles globaux, une interface visuelle qui permet aux utilisateurs de contr\u00f4ler l&rsquo;apparence de leur site web \u00e0 partir d&rsquo;une interface centralis\u00e9e, et aux d\u00e9veloppeurs de contr\u00f4ler les styles de leurs sites WordPress par le biais d&rsquo;un fichier <code>theme.json<\/code>.<\/p>\n<p>Pour activer cette fonction dans votre th\u00e8me hybride, il suffit d&rsquo;ajouter un fichier <code>theme.json<\/code> au dossier racine du th\u00e8me. Voyons quelques-unes des principales fonctionnalit\u00e9s que vous pouvez ajouter \u00e0 votre th\u00e8me hybride avec <code>theme.json<\/code>.<\/p>\n<h4>Typographie<\/h4>\n<p>Disons que vous voulez ajouter la prise en charge de trois familles de polices \u00e0 votre th\u00e8me classique. Dans cet exemple, nous utiliserons <a href=\"https:\/\/kinqsta.com\/fr\/blog\/theme-twenty-twenty-one\/\">Twenty Twenty-One<\/a>.<\/p>\n<p>Tout d&rsquo;abord, cr\u00e9ez un dossier <code>fonts<\/code> sous <code>assets<\/code> et t\u00e9l\u00e9versez quelques polices de votre choix. Nous ajoutons trois polices : <code>Manrope<\/code>, <code>Fira Code<\/code> et <code>Beiruti<\/code>. Vous pouvez obtenir ces polices \u00e0 partir du th\u00e8me <a href=\"https:\/\/kinqsta.com\/fr\/blog\/theme-twenty-twenty-five\/\">Twenty Twenty-Five<\/a>.<\/p>\n<figure id=\"attachment_194169\" aria-describedby=\"caption-attachment-194169\" style=\"width: 1608px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-194169 size-full\" src=\"https:\/\/kinqsta.com\/wp-content\/uploads\/2025\/04\/twenty-twenty-one-custom.jpg\" alt=\"Nous avons ajout\u00e9 trois polices et un fichier theme.json au th\u00e8me Twenty Twenty-One.\" width=\"1608\" height=\"1388\"><figcaption id=\"caption-attachment-194169\" class=\"wp-caption-text\">Nous avons ajout\u00e9 trois polices et un fichier theme.json au th\u00e8me Twenty Twenty-One.<\/figcaption><\/figure>\n<p>Ouvrez votre \u00e9diteur de texte et cr\u00e9ez le fichier suivant <code>theme.json<\/code>:<\/p>\n<pre><code class=\"language-json\">{\n\t\"$schema\": \"https:\/\/schemas.wp.org\/trunk\/theme.json\",\n\t\"version\": 3,\n\t\"settings\": {\n\t\t\"layout\": {\n\t\t\t\"contentSize\": \"768px\",\n\t\t\t\"wideSize\": \"1024px\"\n\t\t},\n\t\t\"typography\": {\n\t\t\t\"fontFamilies\": [\n\t\t\t\t{\n\t\t\t\t\t\"name\": \"Manrope\",\n\t\t\t\t\t\"slug\": \"manrope\",\n\t\t\t\t\t\"fontFamily\": \"Manrope, sans-serif\",\n\t\t\t\t\t\"fontFace\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"src\": [\n\t\t\t\t\t\t\t\t\"file:.\/assets\/fonts\/manrope\/Manrope-VariableFont_wght.woff2\"\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\"fontWeight\": \"200 800\",\n\t\t\t\t\t\t\t\"fontStyle\": \"normal\",\n\t\t\t\t\t\t\t\"fontFamily\": \"Manrope\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"name\": \"Fira Code\",\n\t\t\t\t\t\"slug\": \"fira-code\",\n\t\t\t\t\t\"fontFamily\": \"\\\"Fira Code\\\", monospace\",\n\t\t\t\t\t\"fontFace\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"src\": [\n\t\t\t\t\t\t\t\t\"file:.\/assets\/fonts\/fira-code\/FiraCode-VariableFont_wght.woff2\"\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\"fontWeight\": \"300 700\",\n\t\t\t\t\t\t\t\"fontStyle\": \"normal\",\n\t\t\t\t\t\t\t\"fontFamily\": \"\\\"Fira Code\\\"\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"name\": \"Beiruti\",\n\t\t\t\t\t\"slug\": \"beiruti\",\n\t\t\t\t\t\"fontFamily\": \"Beiruti, sans-serif\",\n\t\t\t\t\t\"fontFace\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"src\": [\n\t\t\t\t\t\t\t\t\"file:.\/assets\/fonts\/beiruti\/Beiruti-VariableFont_wght.woff2\"\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\"fontWeight\": \"300 700\",\n\t\t\t\t\t\t\t\"fontStyle\": \"normal\",\n\t\t\t\t\t\t\t\"fontFamily\": \"Beiruti\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t]\n\t\t}\n\t}\n}<\/code><\/pre>\n<p>La propri\u00e9t\u00e9 <code>settings.typography.fontFamilies<\/code> vous permet d&rsquo;enregistrer un nombre quelconque de <a href=\"https:\/\/developer.wordpress.org\/themes\/global-settings-and-styles\/settings\/typography\/#custom-font-families\" target=\"_blank\" rel=\"noopener noreferrer\">familles de polices personnalis\u00e9es<\/a>. Pour chaque police, vous devrez d\u00e9clarer les propri\u00e9t\u00e9s suivantes :<\/p>\n<ul>\n<li><code>name<\/code> : Un titre obligatoire lisible par l&rsquo;homme pour la famille de polices.<\/li>\n<li><code>slug<\/code> : Une balise obligatoire pour la famille de polices. Il sera ajout\u00e9 \u00e0 une propri\u00e9t\u00e9 CSS personnalis\u00e9e g\u00e9n\u00e9r\u00e9e : <code>--wp--preset--font-family--{slug}<\/code>.<\/li>\n<li><code>fontFamily<\/code> : Une valeur obligatoire qui correspondra \u00e0 la valeur CSS font-family.<\/li>\n<li><code>fontFace<\/code> : Un tableau facultatif de polices de caract\u00e8res qui sont associ\u00e9es \u00e0 la r\u00e8gle CSS at-rule <code>@font-face<\/code>. Vous n&rsquo;en avez besoin que pour les polices web personnalis\u00e9es.<\/li>\n<\/ul>\n<p>Sauvegardez votre site <code>theme.json<\/code> et rendez-vous sur votre tableau de bord WordPress. Cr\u00e9ez un nouvel article ou une nouvelle page, ajoutez un paragraphe avec un exemple de texte et ouvrez la colonne lat\u00e9rale du bloc. Cliquez sur le bouton <strong>Options de typographie<\/strong> et s\u00e9lectionnez <strong>Police<\/strong>. Vous devriez trouver des options pour les familles de polices que vous venez d&rsquo;ajouter \u00e0 votre th\u00e8me.<\/p>\n<p>Les images suivantes montrent \u00e0 quoi ressemble la colonne lat\u00e9rale du bloc Paragraphe avant et apr\u00e8s l&rsquo;ajout du site <code>theme.json<\/code> pr\u00e9sent\u00e9 ci-dessus.<\/p>\n<figure id=\"attachment_194170\" aria-describedby=\"caption-attachment-194170\" style=\"width: 2160px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-194170 size-full\" src=\"https:\/\/kinqsta.com\/wp-content\/uploads\/2025\/04\/tto-default-typography.png\" alt=\"Colonne lat\u00e9rale du bloc Paragraphe avec le th\u00e8me Twenty Twenty-One sans theme.json\" width=\"2160\" height=\"950\"><figcaption id=\"caption-attachment-194170\" class=\"wp-caption-text\">Colonne lat\u00e9rale du bloc Paragraphe avec le th\u00e8me Twenty Twenty-One sans theme.json<\/figcaption><\/figure>\n<figure id=\"attachment_194171\" aria-describedby=\"caption-attachment-194171\" style=\"width: 2334px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-194171 size-full\" src=\"https:\/\/kinqsta.com\/wp-content\/uploads\/2025\/04\/tto-typography-with-font-support.png\" alt=\"Colonne lat\u00e9rale de blocs de paragraphes avec le th\u00e8me Twenty Twenty-One et le fichier theme.json\" width=\"2334\" height=\"1080\"><figcaption id=\"caption-attachment-194171\" class=\"wp-caption-text\">Colonne lat\u00e9rale de blocs de paragraphes avec le th\u00e8me Twenty Twenty-One et le fichier theme.json<\/figcaption><\/figure>\n<p>Les propri\u00e9t\u00e9s de style globales varient selon le th\u00e8me. En dehors de <code>typography<\/code>, les propri\u00e9t\u00e9s couramment prises en charge vous permettent de contr\u00f4ler la palette de couleurs, la mise en page et les styles personnalis\u00e9s. Les exemples suivants ont \u00e9t\u00e9 test\u00e9s sur Twenty Twenty-One.<\/p>\n<h4>Palette de couleurs, d\u00e9grad\u00e9s et filtres duotone<\/h4>\n<p>Vous pouvez ajouter la <a href=\"https:\/\/developer.wordpress.org\/themes\/global-settings-and-styles\/settings\/color\/#custom-color-palette\" target=\"_blank\" rel=\"noopener noreferrer\">prise en charge des couleurs personnalis\u00e9es<\/a> \u00e0 l&rsquo;aide de la propri\u00e9t\u00e9 <code>settings.color<\/code> au niveau du th\u00e8me ou d&rsquo;un bloc individuel. Par exemple, le code suivant ajoute deux couleurs \u00e0 la palette par d\u00e9faut :<\/p>\n<pre><code class=\"language-json\">settings: {\n\t\"color\": {\n\t\t\"palette\": [\n\t\t\t{\n\t\t\t\t\"name\": \"Dark blue\",\n\t\t\t\t\"slug\": \"dark-blue\",\n\t\t\t\t\"color\": \"#1e73be\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"name\": \"Bright green\",\n\t\t\t\t\"slug\": \"bright-green\",\n\t\t\t\t\"color\": \"#81d742\"\n\t\t\t}\n\t\t]\n\t},\n}<\/code><\/pre>\n<p>Vous pouvez utiliser la propri\u00e9t\u00e9 <code>settings.color.palette<\/code> pour enregistrer autant de couleurs que vous le souhaitez.<\/p>\n<figure id=\"attachment_194172\" aria-describedby=\"caption-attachment-194172\" style=\"width: 1656px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-194172 size-full\" src=\"https:\/\/kinqsta.com\/wp-content\/uploads\/2025\/04\/tto-add-color-support.jpg\" alt=\"Ajout d'une palette de couleurs personnalis\u00e9e \u00e0 Twenty Twenty-One.\" width=\"1656\" height=\"926\"><figcaption id=\"caption-attachment-194172\" class=\"wp-caption-text\">Ajout d&rsquo;une palette de couleurs personnalis\u00e9e \u00e0 Twenty Twenty-One.<\/figcaption><\/figure>\n<p>Vous pouvez \u00e9galement ajouter la prise en charge des d\u00e9grad\u00e9s et des filtres duotone :<\/p>\n<pre><code class=\"language-json\">settings: {\n\t\"color\": {\n\t\t\"gradients\": [\n\t\t\t{\n\t\t\t\t\"gradient\": \"linear-gradient(135deg, #0073e6, #8fceff)\",\n\t\t\t\t\"name\": \"Clear Sky\",\n\t\t\t\t\"slug\": \"clear-sky\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"gradient\": \"linear-gradient(to right top, #ff8c00, #ff0080)\",\n\t\t\t\t\"name\": \"Vivid Sunset\",\n\t\t\t\t\"slug\": \"vivid-sunset\"\n\t\t\t}\n\t\t]\n\t}\n}<\/code><\/pre>\n<figure id=\"attachment_194177\" aria-describedby=\"caption-attachment-194177\" style=\"width: 2142px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-194177 size-full\" src=\"https:\/\/kinqsta.com\/wp-content\/uploads\/2025\/04\/hybrid-themes-adding-gradients.jpg\" alt=\"Nous avons ajout\u00e9 deux d\u00e9grad\u00e9s aux styles globaux de Twenty Twenty-One via theme.json.\" width=\"2142\" height=\"1350\"><figcaption id=\"caption-attachment-194177\" class=\"wp-caption-text\">Nous avons ajout\u00e9 deux d\u00e9grad\u00e9s aux styles globaux de Twenty Twenty-One via theme.json.<\/figcaption><\/figure>\n<pre><code class=\"language-json\">settings: {\n\t\"color\": {\n\t\t\"duotone\": [\n\t\t\t{\n\t\t\t\t\"colors\": [ \"#0A2F51\", \"#F5D04E\" ],\n\t\t\t\t\"name\": \"Deep Sea Gold\",\n\t\t\t\t\"slug\": \"deep-sea-gold\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"colors\": [ \"#3A0CA3\", \"#FFB703\" ],\n\t\t\t\t\"name\": \"Purple Amber\",\n\t\t\t\t\"slug\": \"purple-amber\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"colors\": [ \"#1B4332\", \"#BAE6C4\" ],\n\t\t\t\t\"name\": \"Forest Mist\",\n\t\t\t\t\"slug\": \"forest-mist\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t \"colors\": [ \"#000000\", \"#FFFFFF\" ],\n\t\t\t\t \"name\": \"Black and White\",\n\t\t\t\t \"slug\": \"black-and-white\"\n\t\t\t}\n\t\t]\n\t}\n}<\/code><\/pre>\n<figure id=\"attachment_194178\" aria-describedby=\"caption-attachment-194178\" style=\"width: 2246px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-194178 size-full\" src=\"https:\/\/kinqsta.com\/wp-content\/uploads\/2025\/04\/hybrid-themes-adding-duotone.jpg\" alt=\"Filtres Duotone ajout\u00e9s aux styles globaux dans Twenty Twenty-One\" width=\"2246\" height=\"1080\"><figcaption id=\"caption-attachment-194178\" class=\"wp-caption-text\">Filtres Duotone ajout\u00e9s aux styles globaux dans Twenty Twenty-One<\/figcaption><\/figure>\n<h4>Mise en page<\/h4>\n<p>Vous pouvez \u00e9galement personnaliser les r\u00e9glages de mise en page par d\u00e9faut. La <a href=\"https:\/\/developer.wordpress.org\/themes\/global-settings-and-styles\/settings\/layout\/\" target=\"_blank\" rel=\"noopener noreferrer\">propri\u00e9t\u00e9<\/a> <code>settings.layout<\/code> vous permet de d\u00e9finir la largeur du contenu et la largeur de l&rsquo;alignement large par d\u00e9faut. Voici un exemple :<\/p>\n<pre><code class=\"language-json\">\"settings\": {\n\t\"layout\": {\n\t\t\"contentSize\": \"768px\",\n\t\t\"wideSize\": \"1024px\"\n\t}\n}<\/code><\/pre>\n<p>Pour un aper\u00e7u plus approfondi de <code>theme.json<\/code>, consultez notre <a href=\"https:\/\/kinqsta.com\/fr\/blog\/theme-json\/\">tutoriel complet sur <code>theme.json<\/code><\/a> et la <a href=\"https:\/\/developer.wordpress.org\/themes\/global-settings-and-styles\/\">documentation officielle de WordPress<\/a>.<\/p>\n<h3>Variations de style de bloc<\/h3>\n<p>Introduites pour la premi\u00e8re fois <a href=\"https:\/\/kinqsta.com\/fr\/blog\/wordpress-5-3\/#1-register-and-unregister-block-styles\">avec WordPress 5.3<\/a>, les <a href=\"https:\/\/developer.wordpress.org\/themes\/features\/block-style-variations\/\" target=\"_blank\" rel=\"noopener noreferrer\">variations de style de bloc<\/a> permettent aux d\u00e9veloppeurs de cr\u00e9er des styles alternatifs pour des blocs sp\u00e9cifiques.<\/p>\n<p>En bref, les styles de bloc sont des classes CSS ajout\u00e9es \u00e0 l&rsquo;\u00e9l\u00e9ment enveloppant d&rsquo;un bloc sous la forme <code>.is-style-{name}<\/code>.<\/p>\n<p>Les variations de style de bloc apparaissent dans le panneau Styles de la colonne lat\u00e9rale des blocs et vous permettent de s\u00e9lectionner un style pour le bloc en un seul clic.<\/p>\n<figure id=\"attachment_194193\" aria-describedby=\"caption-attachment-194193\" style=\"width: 2142px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-194193 size-full\" src=\"https:\/\/kinqsta.com\/wp-content\/uploads\/2025\/04\/tto-style-variations-image-block.jpg\" alt=\"Twenty Twenty-One variations de style par d\u00e9faut pour le bloc Image\" width=\"2142\" height=\"1118\"><figcaption id=\"caption-attachment-194193\" class=\"wp-caption-text\">Twenty Twenty-One variations de style par d\u00e9faut pour le bloc Image<\/figcaption><\/figure>\n<p>Vous pouvez enregistrer vos variations de style de bloc de plusieurs fa\u00e7ons.<\/p>\n<p>Tout d&rsquo;abord, vous pouvez enregistrer les styles de blocs \u00e0 l&rsquo;aide de la <a href=\"https:\/\/developer.wordpress.org\/reference\/functions\/register_block_style\/\">fonction PHP <code>register_block_style()<\/code><\/a>. Par exemple, vous pouvez enregistrer la variation de style suivante dans le fichier de fonctions de votre th\u00e8me :<\/p>\n<pre><code class=\"language-php\">if ( function_exists( 'register_custom_block_style' ) ) {\n\tregister_block_style(\n\t\t'core\/image',\n\t\tarray(\n\t\t\t'name'\t=&gt; 'custom',\n\t\t\t'label'\t=&gt; __( 'Custom', 'text-domain' ),\n\t\t\t'inline_style'\t=&gt; '.wp-block-image.is-style-custom img { border-radius: 12px; }',\n\t\t)\n\t);\n}\n\nadd_action( 'init', 'register_custom_block_style' ); <\/code><\/pre>\n<p><code>register_block_style()<\/code> accepte deux arguments :<\/p>\n<ul>\n<li><code>$block_name<\/code> : Le nom d&rsquo;un type de bloc ou un tableau de types de blocs.<\/li>\n<li><code>$style_properties<\/code> : Un tableau contenant les propri\u00e9t\u00e9s du style. Dans cet exemple, nous avons utilis\u00e9 <code>name<\/code>, <code>label<\/code>, et <code>inline_style<\/code>.<\/li>\n<\/ul>\n<p>Le code ci-dessus g\u00e9n\u00e8re une variation de style de bloc avec une seule propri\u00e9t\u00e9 CSS. Une fois ce code ajout\u00e9 au fichier <code>functions.php<\/code> de votre th\u00e8me ou de votre th\u00e8me enfant, un bouton s&rsquo;affiche dans le panneau des styles de blocs pour permettre \u00e0 l&rsquo;utilisateur de d\u00e9finir le style en un seul clic.<\/p>\n<figure id=\"attachment_194186\" aria-describedby=\"caption-attachment-194186\" style=\"width: 2142px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-194186 size-full\" src=\"https:\/\/kinqsta.com\/wp-content\/uploads\/2025\/04\/custom-style-variation.jpg\" alt=\"Une variation de style personnalis\u00e9e pour un bloc Image dans l'\u00e9diteur d'article\" width=\"2142\" height=\"908\"><figcaption id=\"caption-attachment-194186\" class=\"wp-caption-text\">Une variation de style personnalis\u00e9e pour un bloc Image dans l&rsquo;\u00e9diteur d&rsquo;article<\/figcaption><\/figure>\n<p>L&rsquo;image suivante montre la variation de style du bloc dans l&rsquo;interface publique. Le th\u00e8me est toujours Twenty Twenty-One.<\/p>\n<figure id=\"attachment_194185\" aria-describedby=\"caption-attachment-194185\" style=\"width: 2142px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-194185 size-full\" src=\"https:\/\/kinqsta.com\/wp-content\/uploads\/2025\/04\/block-style-variation-php.jpg\" alt=\"Une variation de style de bloc avec Twenty Twenty-One\" width=\"2142\" height=\"1376\"><figcaption id=\"caption-attachment-194185\" class=\"wp-caption-text\">Une variation de style de bloc avec Twenty Twenty-One<\/figcaption><\/figure>\n<p>Vous pouvez ajouter vos styles inline dans votre code PHP, comme dans l&rsquo;exemple ci-dessus, mais votre code peut rapidement devenir difficile \u00e0 maintenir \u00e0 mesure que les styles deviennent plus complexes et \u00e9labor\u00e9s. Dans ces cas-l\u00e0, vous pouvez enregistrer la variation de style comme nous l&rsquo;avons vu pr\u00e9c\u00e9demment mais d\u00e9finir les styles dans votre fichier <code>theme.json<\/code>.<\/p>\n<p>Dans l&rsquo;exemple suivant, nous cr\u00e9ons une variation de style bleu fonc\u00e9 pour le bloc Titre.<\/p>\n<p>Tout d&rsquo;abord, enregistrez la variation de style dans le fichier de fonctions du th\u00e8me :<\/p>\n<pre><code class=\"language-php\">add_action('init', 'register_block_style_labels');\n\nfunction register_block_style_labels() {\n\t$block_types = ['core\/heading'];\n\n\tif (function_exists('register_block_style')) {\n\t\tforeach ($block_types as $block_type) {\n\t\t\tregister_block_style(\n\t\t\t\t$block_type,\n\t\t\t\tarray(\n\t\t\t\t\t'name'\t=&gt; 'dark-blue-bg',\n\t\t\t\t\t'label' =&gt; __('Dark Blue', 'twentytwentyone')\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t}\n}<\/code><\/pre>\n<p>Ensuite, d\u00e9finissez les styles de variation dans votre fichier <code>theme.json<\/code> :<\/p>\n<pre><code class=\"language-json\">\"settings\": {\n\t\"styles\": {\n\t\t\"blocks\": {\n\t\t\t\"core\/heading\": {\n\t\t\t\t\"variations\": {\n\t\t\t\t\t\"dark-blue-bg\": {\n\t\t\t\t\t\t\"color\": {\n\t\t\t\t\t\t\t\"background\": \"#2860a6\",\n\t\t\t\t\t\t\t\"text\": \"#ffffff\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"spacing\": {\n\t\t\t\t\t\t\t\"padding\": {\n\t\t\t\t\t\t\t\t\"top\": \"0.3em\",\n\t\t\t\t\t\t\t\t\"right\": \"0.4em\",\n\t\t\t\t\t\t\t\t\"bottom\": \"0.3em\",\n\t\t\t\t\t\t\t\t\"left\": \"0.4em\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}<\/code><\/pre>\n<p>Maintenant, les utilisateurs de votre th\u00e8me peuvent choisir entre deux variations de style pour le bloc Titre, comme le montre l&rsquo;image suivante.<\/p>\n<figure id=\"attachment_194190\" aria-describedby=\"caption-attachment-194190\" style=\"width: 2140px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-194190 size-full\" src=\"https:\/\/kinqsta.com\/wp-content\/uploads\/2025\/04\/dark-blue-bg-style-variation.jpg\" alt=\"Une variation de style pour le bloc Titre avec le th\u00e8me Twenty Twenty-One.\" width=\"2140\" height=\"1240\"><figcaption id=\"caption-attachment-194190\" class=\"wp-caption-text\">Une variation de style pour le bloc Titre avec le th\u00e8me Twenty Twenty-One.<\/figcaption><\/figure>\n<h3>Variations de blocs<\/h3>\n<p>Les <a href=\"https:\/\/kinqsta.com\/fr\/blog\/wordpress-5-4\/#block-variations\">variations de bloc<\/a> sont des versions alternatives de n&rsquo;importe quel bloc enregistr\u00e9. Alors que les variations de style de bloc (ou styles de bloc) sont des versions personnalis\u00e9es d&rsquo;un style de bloc que les utilisateurs peuvent ajouter au contenu en un seul clic, les <a href=\"https:\/\/developer.wordpress.org\/themes\/features\/block-variations\/\" target=\"_blank\" rel=\"noopener noreferrer\">variations de bloc<\/a> sont des versions alternatives des r\u00e9glages d&rsquo;un bloc. Elles permettent aux utilisateurs d&rsquo;ins\u00e9rer rapidement un bloc avec des r\u00e9glages pr\u00e9configur\u00e9s sans avoir \u00e0 d\u00e9finir les m\u00eames configurations pour chaque instance de bloc.<\/p>\n<p>L&rsquo;<a href=\"https:\/\/developer.wordpress.org\/block-editor\/reference-guides\/block-api\/block-variations\/\" target=\"_blank\" rel=\"noopener noreferrer\">API des variations<\/a> de bloc permet aux th\u00e8mes hybrides d&rsquo;enregistrer des variations de bloc via JavaScript. Dans les cas les plus simples, cr\u00e9er un script et le mettre en file d&rsquo;attente peut faire l&rsquo;affaire, mais si vous travaillez beaucoup avec <a href=\"https:\/\/kinqsta.com\/fr\/blog\/blocs-gutenberg\/\">JavaScript et les blocs Gutenberg<\/a>, vous voudrez peut-\u00eatre incorporer des outils de construction dans votre flux de travail. (<a href=\"https:\/\/developer.wordpress.org\/news\/2023\/07\/beyond-block-styles-part-1-using-the-wordpress-scripts-package-with-themes\/\" target=\"_blank\" rel=\"noopener noreferrer\">Lecture conseill\u00e9e<\/a>.)<\/p>\n<p>Supposons que vous vouliez cr\u00e9er une variation de bloc avec un ensemble d&rsquo;options pr\u00e9configur\u00e9es afin que votre variation puisse \u00eatre ins\u00e9r\u00e9e rapidement dans vos articles ou vos pages avec un minimum de configuration suppl\u00e9mentaire n\u00e9cessaire.<\/p>\n<p>La premi\u00e8re \u00e9tape consiste \u00e0 cr\u00e9er un fichier JavaScript vide et \u00e0 le charger dans l&rsquo;\u00e9diteur. Vous devrez le mettre en file d&rsquo;attente dans le fichier <code>functions.php<\/code> de votre th\u00e8me \u00e0 l&rsquo;aide de <code>wp_enqueue_script()<\/code> et du crochet d&rsquo;action <code>enqueue_block_editor_assets<\/code>.<\/p>\n<pre><code class=\"language-php\">add_action( 'enqueue_block_editor_assets', function () {\n\twp_enqueue_script(\n\t\t'my-block-variations',\n\t\tget_theme_file_uri( 'assets\/js\/block-variations.js' ) . '?cache_bust=' . time(),\n\t\tarray( \n\t\t\t'wp-blocks', \n\t\t\t'wp-dom-ready',\n\t\t\t'wp-i18n',\n\t\t\t'wp-edit-post'\n\t\t),\n\t\twp_get_theme()-&gt;get( 'Version' ),\n\t\ttrue\n\t);\n} );<\/code><\/pre>\n<p>Dans le code ci-dessus, nous avons utilis\u00e9 <code>?cache_bust=' . time()<\/code> pour ajouter un horodatage unique \u00e0 l&rsquo;URL de <code>block-variations.js<\/code> (par exemple, <code>block-variations.js?cache_bust=1698765432<\/code>). Cette m\u00e9thode est particuli\u00e8rement utile pendant le d\u00e9veloppement, car elle permet de s&rsquo;assurer que le navigateur, le serveur ou le CDN charge toujours la derni\u00e8re version du script, ce qui \u00e9vite qu&rsquo;une version p\u00e9rim\u00e9e mise en cache ne bloque l&rsquo;affichage des modifications.<\/p>\n<p>Ensuite, vous devez enregistrer votre variation de bloc dans ton script \u00e0 l&rsquo;aide de la fonction <code>registerBlockVariation<\/code> fournie par l&rsquo;<a href=\"https:\/\/developer.wordpress.org\/block-editor\/how-to-guides\/themes\/theme-support\/\" target=\"_blank\" rel=\"noopener noreferrer\">API des variations de bloc<\/a>.<\/p>\n<p>Voici la signature de la fonction :<\/p>\n<pre><code class=\"language-js\">const registerBlockVariation = ( blockName, variation )<\/code><\/pre>\n<ul>\n<li><code>blockName<\/code> : Le nom du bloc (c&rsquo;est-\u00e0-dire <code>core\/query<\/code>.)<\/li>\n<li><code>variation<\/code> : Un objet d\u00e9crivant une variation pour le type de bloc.<\/li>\n<\/ul>\n<p>L&rsquo;objet <code>variation<\/code> peut inclure l&rsquo;un des param\u00e8tres suivants :<\/p>\n<ul>\n<li><code>name<\/code> : <em>(cha\u00eene<\/em>) Un identifiant unique de la variation.<\/li>\n<li><code>title<\/code> : <em>(cha\u00eene<\/em>) Un titre de variation lisible par l&rsquo;homme.<\/li>\n<li><code>description<\/code> : <em>(cha\u00eene<\/em>) Une description d\u00e9taill\u00e9e.<\/li>\n<li><code>category<\/code> : <em>(cha\u00eene<\/em>) Une cat\u00e9gorie utilis\u00e9e dans les interfaces de recherche.<\/li>\n<li><code>keywords<\/code> : <em>(tableau<\/em>) Un tableau de termes qui aide les utilisateurs \u00e0 d\u00e9couvrir la variation.<\/li>\n<li><code>icon<\/code> : <em>(WPIcon<\/em>) Une ic\u00f4ne \u00e0 afficher dans l&rsquo;insertion de blocs.<\/li>\n<li><code>isDefault<\/code> : <em>(bool\u00e9en<\/em>) Indique si la variante actuelle est la variante par d\u00e9faut. La valeur par d\u00e9faut est false.<\/li>\n<li><code>isActive<\/code> : <em>(Function\/Array<\/em>) Une fonction ou un tableau d&rsquo;attributs de bloc utilis\u00e9s pour d\u00e9terminer si la variation est active lorsque le bloc est s\u00e9lectionn\u00e9. Sans <code>isActive<\/code>, WordPress ne saurait pas comment distinguer ta variation d&rsquo;un bloc standard ou d&rsquo;autres variations, ce qui entra\u00eenerait un comportement incoh\u00e9rent dans l&rsquo;\u00e9diteur.<\/li>\n<li><code>attributes<\/code> : <em>(Objet<\/em>) Valeurs d&rsquo;attributs qui remplacent les valeurs par d\u00e9faut du bloc.<\/li>\n<li><code>innerBlocks<\/code> : <em>(Array[]<\/em>) Configuration initiale du bloc imbriqu\u00e9.<\/li>\n<li><code>example<\/code> : <em>(Objet<\/em>) Donn\u00e9es structur\u00e9es pour l&rsquo;aper\u00e7u du bloc. D\u00e9fini \u00e0 undefined pour d\u00e9sactiver la pr\u00e9visualisation.<\/li>\n<li><code>scope<\/code> : <em>(WPBlockVariationScope[]<\/em>) La liste des port\u00e9es o\u00f9 la variation est applicable. Si elle n&rsquo;est pas fournie, elle suppose tous les scopes disponibles. Les options disponibles sont <code>block<\/code>, <code>inserter<\/code>, et <code>transform<\/code>. Les valeurs par d\u00e9faut sont <code>block<\/code> et <code>inserter<\/code>.<\/li>\n<\/ul>\n<p>Vous pouvez maintenant ajouter le JavaScript au fichier <code>block-variations.js<\/code> :<\/p>\n<pre><code class=\"language-js\">wp.blocks.registerBlockVariation( 'core\/heading', { \n\tname: 'custom-centered-text', \n\ttitle: 'Custom Centered Text', \n\tdescription: 'This is a block variation with custom attributes.', \n\tattributes: { \n\t\tlevel: 2,\n\t\ttextAlign: 'center',\n\t\tplaceholder: 'Add your text here',\n\t\tstyle: {\n\t\t\tcolor: {\n\t\t\t\ttext: '#1e73be',\n\t\t\t\tbackground: '#81d742'\n\t\t\t}\n\t\t}\n\t},\n\tisActive: ( blockAttributes ) =&gt; {\n\t\treturn (\n\t\t\tblockAttributes.level === 2 &&\n\t\t\tblockAttributes.textAlign === 'center' &&\n\t\t\tblockAttributes.style?.color?.text === '#1e73be' &&\n\t\t\tblockAttributes.style?.color?.background === '#81d742'\n\t\t);\n\t},\n\ticon: 'airplane', \n\tscope: [ 'inserter' ] \n} );<\/code><\/pre>\n<p>Ce code ajoute un nouveau type de bloc avec une ic\u00f4ne d&rsquo;avion \u00e0 l&rsquo;insertion de blocs. Lorsque vous cliquez sur l&rsquo;avion, une nouvelle variante du bloc Titre est ajout\u00e9e \u00e0 la page avec vos r\u00e9glages personnalis\u00e9s. Nous avons d\u00e9fini le niveau de l&rsquo;en-t\u00eate (<code>H2<\/code>), centr\u00e9 le texte, d\u00e9fini un espace r\u00e9serv\u00e9 et d\u00e9fini les couleurs du texte et de l&rsquo;arri\u00e8re-plan de l&rsquo;en-t\u00eate.<\/p>\n<figure id=\"attachment_194382\" aria-describedby=\"caption-attachment-194382\" style=\"width: 2604px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-194382 size-full\" src=\"https:\/\/kinqsta.com\/wp-content\/uploads\/2025\/04\/example-block-variation.jpg\" alt=\"Un exemple de variation de bloc avec le th\u00e8me hybride Twenty Twenty-One\" width=\"2604\" height=\"1012\"><figcaption id=\"caption-attachment-194382\" class=\"wp-caption-text\">Un exemple de variation de bloc avec le th\u00e8me hybride Twenty Twenty-One<\/figcaption><\/figure>\n<p>Remarque : Pour que ce code fonctionne comme pr\u00e9vu, assurez-vous que votre th\u00e8me hybride ajoute la prise en charge des fonctionnalit\u00e9s de l&rsquo;\u00e9diteur telles que <code>'editor-color-palette'<\/code>, <code>editor-styles<\/code>, et d&rsquo;autres. Pour une liste plus compl\u00e8te des prises en charge, consultez l&rsquo;<a href=\"https:\/\/developer.wordpress.org\/block-editor\/how-to-guides\/themes\/theme-support\/\" target=\"_blank\" rel=\"noopener noreferrer\">API des variations de blocs<\/a>.<\/p>\n<h3>Mod\u00e8les de blocs<\/h3>\n<p>Les mod\u00e8les de blocs sont des groupes de blocs pr\u00e9-construits que vous pouvez ajouter \u00e0 votre contenu et personnaliser \u00e0 l&rsquo;aide de l&rsquo;interface de l&rsquo;\u00e9diteur de blocs.<\/p>\n<p>Les th\u00e8mes de blocs fournissent g\u00e9n\u00e9ralement un nombre variable de mod\u00e8les de blocs que vous pouvez ajouter \u00e0 votre contenu directement \u00e0 partir de l&rsquo;insertion de blocs. Les th\u00e8mes hybrides peuvent ajouter la prise en charge des mod\u00e8les afin que les utilisateurs de th\u00e8mes classiques puissent b\u00e9n\u00e9ficier de cette puissante fonctionnalit\u00e9.<\/p>\n<aside role=\"note\" class=\"wp-block-kinsta-notice is-style-info\">\n            <h3>Info<\/h3>\n        <p>Il existe plusieurs fa\u00e7ons d&rsquo;ajouter des compositions \u00e0 un th\u00e8me WordPress, et nous les avons toutes abord\u00e9es dans notre <a href=\"https:\/\/kinqsta.com\/fr\/blog\/construire-compositions-blocs-wordpress\/\">guide approfondi sur les motifs WordPress<\/a>.<\/p>\n<\/aside>\n\n<p>Vous pouvez cr\u00e9er un dossier <code>patterns<\/code> \u00e0 la racine de votre th\u00e8me et y inclure vos blocs de compositions, ou vous pouvez les enregistrer dans les fichiers <code>functions.php<\/code> ou autres <code>.php<\/code> de votre th\u00e8me.<\/p>\n<p>Pour garder les choses en ordre, vous pouvez cr\u00e9er un fichier <code>inc\/block-patterns.php<\/code> et l&rsquo;inclure dans le <code>function.php<\/code> de votre th\u00e8me avec le code suivant :<\/p>\n<pre><code class=\"language-php\">require get_template_directory() . '\/inc\/block-patterns.php';<\/code><\/pre>\n<p>Une fois cela fait, vous pouvez cr\u00e9er votre composition dans l&rsquo;\u00e9diteur, copier le code et enregistrer votre composition et sa cat\u00e9gorie dans <code>inc\/block-patterns.php<\/code> \u00e0 l&rsquo;aide des fonctions <code>register_block_pattern_category<\/code> et <code>register_block_pattern()<\/code> :<\/p>\n<pre><code class=\"language-php\">if ( function_exists( 'register_block_pattern_category' ) ) {\n\tfunction my_hybrid_theme_register_block_pattern_category() {\n\t\tregister_block_pattern_category(\n\t\t\t'myhybridtheme',\n\t\t\tarray( 'label' =&gt; esc_html__( 'My Hybrid Theme', 'myhybridtheme' ) )\n\t\t);\n\t}\n\tadd_action( 'init', 'my_hybrid_theme_register_block_pattern_category' );\n}\n\nif ( function_exists( 'register_block_pattern' ) ) {\n\tfunction my_hybrid_theme_register_block_pattern() {\n\n\t\t\/\/ My pattern\n\t\tregister_block_pattern(\n\t\t\t'myhybridtheme\/huge-heading',\n\t\t\tarray(\n\t\t\t\t'title'\t\t\t=&gt; esc_html__( 'Huge heading', 'myhybridtheme' ),\n\t\t\t\t'categories'\t=&gt; array( 'myhybridtheme' ),\n\t\t\t\t'viewportWidth'\t=&gt; 1440,\n\t\t\t\t'blockTypes'\t=&gt; array( 'core\/heading' ),\n\t\t\t\t'content'\t\t=&gt; '&lt;!-- wp:heading {\"textAlign\":\"center\",\"align\":\"wide\",\"fontSize\":\"gigantic\",\"style\":{\"typography\":{\"lineHeight\":\"1.2\"}}} --&gt;&lt;h2 class=\"alignwide has-text-align-center has-gigantic-font-size\" style=\"line-height:1.2\"&gt;' . esc_html__( 'A simple Heading in a pattern', 'myhybridtheme' ) . '&lt;\/h2&gt;&lt;!-- \/wp:heading --&gt;',\n\t\t\t)\n\t\t);\n\t}\n\tadd_action( 'init', 'my_hybrid_theme_register_block_pattern' );\n}<\/code><\/pre>\n<p>Vous pouvez pr\u00e9visualiser votre composition dans votre tableau de bord WordPress sous <strong>Apparence<\/strong> &gt; <strong>Design<\/strong> &gt; <strong>Motifs<\/strong> &gt; <strong>Mon th\u00e8me hybride<\/strong> et l&rsquo;utiliser dans votre contenu.<\/p>\n<figure id=\"attachment_194410\" aria-describedby=\"caption-attachment-194410\" style=\"width: 2042px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-194410 size-full\" src=\"https:\/\/kinqsta.com\/wp-content\/uploads\/2025\/04\/block-patterns-in-hybrid-themes.jpg\" alt=\"Compositions dans les th\u00e8mes hybrides\" width=\"2042\" height=\"1222\"><figcaption id=\"caption-attachment-194410\" class=\"wp-caption-text\">Compositions dans les th\u00e8mes hybrides<\/figcaption><\/figure>\n<p>Tu peux aussi dupliquer et exporter ton motif et l&rsquo;importer dans d&rsquo;autres sites WordPress.<\/p>\n<figure id=\"attachment_194409\" aria-describedby=\"caption-attachment-194409\" style=\"width: 2468px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-194409 size-full\" src=\"https:\/\/kinqsta.com\/wp-content\/uploads\/2025\/04\/adding-pattern.jpg\" alt=\"L'ajout d'un motif ne n\u00e9cessite que quelques clics\" width=\"2468\" height=\"1248\"><figcaption id=\"caption-attachment-194409\" class=\"wp-caption-text\">L&rsquo;ajout d&rsquo;un motif ne n\u00e9cessite que quelques clics<\/figcaption><\/figure>\n<h3>Parties du mod\u00e8le<\/h3>\n<p>Bien que les th\u00e8mes hybrides utilisent les mod\u00e8les PHP classiques et les parties de mod\u00e8le, vous pouvez ajouter la <a href=\"https:\/\/developer.wordpress.org\/block-editor\/how-to-guides\/themes\/theme-support\/#block-based-template-parts\" target=\"_blank\" rel=\"noopener noreferrer\">prise en charge des parties de mod\u00e8le en bloc<\/a> dans le fichier <code>functions.php<\/code> de votre th\u00e8me :<\/p>\n<pre><code class=\"language-php\">function my_hybrid_theme_setup() {\n\tadd_theme_support( 'block-template-parts' );\n}\nadd_action( 'after_setup_theme', 'my_hybrid_theme_setup' );<\/code><\/pre>\n<p>Une fois que vous avez ajout\u00e9 la prise en charge des parties de mod\u00e8le, vous pouvez inclure n&rsquo;importe quelle partie de mod\u00e8le dans n&rsquo;importe quel fichier de mod\u00e8le de votre th\u00e8me hybride \u00e0 l&rsquo;aide de la <a href=\"https:\/\/developer.wordpress.org\/reference\/functions\/block_template_part\/\" target=\"_blank\" rel=\"noopener noreferrer\">fonction <code>block_template_part<\/code><\/a>.<\/p>\n<p>Voyons un exemple pratique. Commencez par cr\u00e9er un dossier <code>\/parts<\/code> \u00e0 la racine de votre th\u00e8me et t\u00e9l\u00e9versez un fichier <code>footer.html<\/code> dans ce dossier. Pour cet exemple, nous avons copi\u00e9 le pied de page du th\u00e8me Twenty Twenty-Five :<\/p>\n<pre><code class=\"language-html\">&lt;!-- wp:group {\"align\":\"full\",\"className\":\"is-style-section-5\",\"style\":{\"spacing\":{\"padding\":{\"top\":\"var:preset|spacing|60\",\"bottom\":\"var:preset|spacing|60\"}}},\"layout\":{\"type\":\"constrained\"}} --&gt;\n&lt;div class=\"wp-block-group alignfull is-style-section-5\" style=\"padding-top:var(--wp--preset--spacing--60);padding-bottom:var(--wp--preset--spacing--60)\"&gt;\n\t&lt;!-- wp:group {\"style\":{\"spacing\":{\"blockGap\":\"var:preset|spacing|10\"}},\"layout\":{\"type\":\"flex\",\"orientation\":\"vertical\",\"justifyContent\":\"stretch\"}} --&gt;\n\t&lt;div class=\"wp-block-group\"&gt;\n\t\t&lt;!-- wp:site-title {\"level\":2,\"textAlign\":\"center\",\"style\":{\"typography\":{\"textTransform\":\"uppercase\",\"fontStyle\":\"normal\",\"fontWeight\":\"400\"}},\"fontSize\":\"x-large\"} \/--&gt;\n\t\t&lt;!-- wp:navigation {\"overlayMenu\":\"never\",\"style\":{\"typography\":{\"textTransform\":\"uppercase\",\"fontStyle\":\"normal\",\"fontWeight\":\"400\"},\"spacing\":{\"blockGap\":\"var:preset|spacing|20\"}},\"fontSize\":\"x-large\",\"layout\":{\"type\":\"flex\",\"justifyContent\":\"center\"},\"ariaLabel\":\"Social media\"} --&gt;\n\t\t&lt;!-- wp:navigation-link {\"label\":\"Facebook\",\"url\":\"#\"} \/--&gt;\n\t\t&lt;!-- wp:navigation-link {\"label\":\"Instagram\",\"url\":\"#\"} \/--&gt;\n\t\t&lt;!-- wp:navigation-link {\"label\":\"X\",\"url\":\"#\"} \/--&gt;\n\t\t&lt;!-- \/wp:navigation --&gt;\n\t&lt;\/div&gt;\n\t&lt;!-- \/wp:group --&gt;\n\t&lt;!-- wp:spacer {\"height\":\"var:preset|spacing|30\"} --&gt;\n\t&lt;div style=\"height:var(--wp--preset--spacing--30)\" aria-hidden=\"true\" class=\"wp-block-spacer\"&gt;&lt;\/div&gt;\n\t&lt;!-- \/wp:spacer --&gt;\n\t&lt;!-- wp:paragraph {\"align\":\"center\",\"fontSize\":\"small\"} --&gt;\n\t&lt;p class=\"has-text-align-center has-small-font-size\"&gt;\n\t\tDesigned with &lt;a href=\"https:\/\/wordpress.org\" rel=\"nofollow\"&gt;WordPress&lt;\/a&gt;\n\t&lt;\/p&gt;\n\t&lt;!-- \/wp:paragraph --&gt;\n&lt;\/div&gt;\n&lt;!-- \/wp:group --&gt;<\/code><\/pre>\n<p>Vous pouvez maintenant inclure cette partie de mod\u00e8le dans un mod\u00e8le classique avec la fonction <code>block_template_part<\/code> :<\/p>\n<pre><code class=\"language-php\">&lt;?php block_template_part( 'footer' ); ?&gt; <\/code><\/pre>\n<p>Vous pouvez, par exemple, l&rsquo;inclure dans le fichier <code>footer.php<\/code> de Twenty Twenty-One. L&rsquo;image suivante montre le r\u00e9sultat \u00e0 l&rsquo;\u00e9cran.<\/p>\n<figure id=\"attachment_194501\" aria-describedby=\"caption-attachment-194501\" style=\"width: 1808px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-194501 size-full\" src=\"https:\/\/kinqsta.com\/wp-content\/uploads\/2025\/04\/block-template-part.jpg\" alt=\"Une partie de mod\u00e8le de bloc incluse dans un th\u00e8me Hybride.\" width=\"1808\" height=\"1252\"><figcaption id=\"caption-attachment-194501\" class=\"wp-caption-text\">Une partie de mod\u00e8le de bloc incluse dans un th\u00e8me Hybride.<\/figcaption><\/figure>\n<p>Vous pouvez \u00e9galement inclure des parties de mod\u00e8le dans un mod\u00e8le de bloc en utilisant le code suivant :<\/p>\n<p><code class=\"language-html\">&lt;!-- wp:template-part {\"slug\":\"footer\"} \/--&gt;<\/code><\/p>\n<p>Vous pouvez, par exemple, copier le code du mod\u00e8le <code>page.html<\/code> de Twenty Twenty-Five :<\/p>\n<pre><code class=\"language-html\">&lt;!-- wp:template-part {\"slug\":\"header\"} \/--&gt;\n\n&lt;!-- wp:group {\"tagName\":\"main\",\"style\":{\"spacing\":{\"margin\":{\"top\":\"var:preset|spacing|60\"}}},\"layout\":{\"type\":\"constrained\"}} --&gt;\n&lt;main class=\"wp-block-group\" style=\"margin-top:var(--wp--preset--spacing--60)\"&gt;\n\t&lt;!-- wp:group {\"align\":\"full\",\"style\":{\"spacing\":{\"padding\":{\"top\":\"var:preset|spacing|60\",\"bottom\":\"var:preset|spacing|60\"}}},\"layout\":{\"type\":\"constrained\"}} --&gt;\n\t&lt;div class=\"wp-block-group alignfull\" style=\"padding-top:var(--wp--preset--spacing--60);padding-bottom:var(--wp--preset--spacing--60)\"&gt;\n\t\t&lt;!-- wp:post-featured-image {\"style\":{\"spacing\":{\"margin\":{\"bottom\":\"var:preset|spacing|60\"}}}} \/--&gt;\n\t\t&lt;!-- wp:post-title {\"level\":1} \/--&gt;\n\t\t&lt;!-- wp:post-content {\"align\":\"full\",\"layout\":{\"type\":\"constrained\"}} \/--&gt;\n\t&lt;\/div&gt;\n\t&lt;!-- \/wp:group --&gt;\n&lt;\/main&gt;\n&lt;!-- \/wp:group --&gt;\n\n&lt;!-- wp:template-part {\"slug\":\"footer\"} \/--&gt;<\/code><\/pre>\n<p>Enregistrez ce mod\u00e8le dans ton dossier <code>\/templates<\/code> et appellez-le <code>page.html<\/code>. WordPress le chargera automatiquement en fonction de la hi\u00e9rarchie des mod\u00e8les. Ce mod\u00e8le inclura automatiquement les parties des mod\u00e8les <code>header.html<\/code> et <code>footer.html<\/code> du dossier <code>\/parts<\/code> de votre th\u00e8me hybride.<\/p>\n<h2>Quand choisir un th\u00e8me hybride plut\u00f4t qu&rsquo;un th\u00e8me de blocs<\/h2>\n<p>Un th\u00e8me hybride peut \u00eatre la meilleure option dans les sc\u00e9narios suivants :<\/p>\n<ul>\n<li><strong>Lorsque vous voulez utiliser certaines fonctionnalit\u00e9s modernes des th\u00e8mes de blocs sans restructurer compl\u00e8tement un site existant.<\/strong><br \/>\nLes th\u00e8mes hybrides vous permettent de profiter des fonctionnalit\u00e9s des blocs telles que l&rsquo;\u00e9diteur de blocs, les styles globaux et les mod\u00e8les de blocs. Les th\u00e8mes hybrides prennent \u00e9galement en charge les API de l&rsquo;\u00e9diteur de blocs telles que l&rsquo;<a href=\"https:\/\/kinqsta.com\/fr\/blog\/api-block-bindings\/\">API de liaisons de blocs<\/a>, l&rsquo;<a href=\"https:\/\/kinqsta.com\/fr\/blog\/wordpress-6-5\/#interactivity-api\">API d&rsquo;interactivit\u00e9<\/a> et l&rsquo;API HTML. Cela signifie que vous pouvez cr\u00e9er des sites web modernes sans avoir \u00e0 passer par une migration complexe.<\/li>\n<li><strong>Lorsque vous voulez maintenir la compatibilit\u00e9 avec des extensions ou des widgets classiques mais que vous ne voulez pas renoncer \u00e0 certaines fonctionnalit\u00e9s puissantes des th\u00e8mes de blocs.<\/strong><br \/>\nLes anciennes versions de certaines extensions peuvent avoir des probl\u00e8mes de compatibilit\u00e9 avec les th\u00e8mes de blocs, comme les anciennes versions de Contact Form 7, NextGEN Gallery, Custom Post Type UI, et d&rsquo;autres extensions. Bien qu&rsquo;il soit recommand\u00e9 de <a href=\"https:\/\/kinqsta.com\/fr\/blog\/mises-a-jour-automatiques-kinsta\/\">mettre \u00e0 jour les extensions<\/a> vers les derni\u00e8res versions pour \u00e9viter les failles de s\u00e9curit\u00e9, certains sites WordPress peuvent avoir des versions plus anciennes d&rsquo;une extension install\u00e9e. Si vous n&rsquo;\u00eates pas encore pr\u00eat \u00e0 mettre \u00e0 jour toutes vos extensions, vous pouvez envisager d&rsquo;installer un th\u00e8me hybride.<\/li>\n<li><strong>Lorsque vous essayez de trouver le meilleur compromis entre design et performance.<\/strong><br \/>\nCertains th\u00e8mes hybrides populaires sont optimis\u00e9s pour la vitesse et peuvent offrir des performances nettement sup\u00e9rieures \u00e0 celles des th\u00e8mes de blocs. Pourtant, ils prennent en charge l&rsquo;approche sans code\/\u00e0 faible code des th\u00e8mes de blocs et offrent une meilleure exp\u00e9rience de conception que les th\u00e8mes classiques. Les th\u00e8mes hybrides optimis\u00e9s pour les performances, tels que <a href=\"https:\/\/kinqsta.com\/fr\/blog\/theme-wordpress-plus-rapide\/#2-neve\">Neve<\/a> ou Kadence, vous permettent de cr\u00e9er des sites web d&rsquo;apparence moderne sans compromettre les performances.<\/li>\n<li><strong>Quand vous voulez une transition en douceur vers FSE.<\/strong><br \/>\nParfois, le passage de l&rsquo;ancienne \u00e0 la nouvelle logique de conception peut prendre du temps, surtout lorsqu&rsquo;on travaille en \u00e9quipe sur de grands sites, et la courbe d&rsquo;apprentissage est une source d&rsquo;inqui\u00e9tude. Un th\u00e8me hybride permet \u00e0 votre \u00e9quipe d&rsquo;exp\u00e9rimenter les fonctionnalit\u00e9s des blocs tout en conservant les outils de conception familiers tels que la personnalisation et les mod\u00e8les PHP classiques.<\/li>\n<\/ul>\n<p>Cependant, il y a aussi des sc\u00e9narios o\u00f9 les th\u00e8mes hybrides ne sont pas la meilleure option. Par exemple :<\/p>\n<ul>\n<li><strong>Lorsque les outils de conception du site priment sur les performances globales.<\/strong><br \/>\nLorsque vous voulez utiliser certaines fonctionnalit\u00e9s sp\u00e9cifiques \u00e0 l&rsquo;\u00e9dition compl\u00e8te du site, comme l&rsquo;\u00e9diteur de site, l&rsquo;\u00e9dition compl\u00e8te des mod\u00e8les via les blocs et l&rsquo;interface des styles globaux, un th\u00e8me hybride n&rsquo;est pas une option car ces fonctionnalit\u00e9s ne sont pas prises en charge ou ne sont que partiellement prises en charge dans les th\u00e8mes hybrides.<\/li>\n<li><strong>Avec les sites WordPress headless bas\u00e9s sur l&rsquo;API REST de WordPress.<\/strong><br \/>\nDans ce sc\u00e9nario, les th\u00e8mes de blocs sont \u00e0 privil\u00e9gier car les donn\u00e9es de blocs sont facilement expos\u00e9es via l&rsquo;API REST (voir, par exemple, le <a href=\"https:\/\/developer.wordpress.org\/rest-api\/reference\/blocks\/#list-editor-blocks\">point de terminaison <code>\/wp\/v2\/blocks<\/code><\/a>) ou WPGraphQL, l\u00e0 o\u00f9 les th\u00e8mes hybrides pourraient ajouter une plus grande complexit\u00e9.<\/li>\n<li><strong>Lorsqu&rsquo;une approche sans code de la construction du site est pr\u00e9f\u00e9r\u00e9e.<\/strong><br \/>\nLes th\u00e8mes hybrides ne prennent pas en charge la cr\u00e9ation ou la modification de mod\u00e8les via l&rsquo;\u00e9diteur de site. Bien que la prise en charge des parties de mod\u00e8les puisse \u00eatre ajout\u00e9e, cette prise en charge est actuellement limit\u00e9e, et la gestion des mod\u00e8les est principalement bas\u00e9e sur PHP.<\/li>\n<\/ul>\n<p>En fin de compte, il n&rsquo;y a pas de r\u00e8gle absolue pour choisir entre les th\u00e8mes hybrides et les th\u00e8mes de blocs. Cela d\u00e9pend de nombreux facteurs, tels que les comp\u00e9tences disponibles dans votre \u00e9quipe, le type de site construit, les exigences en mati\u00e8re de performances, la r\u00e9trocompatibilit\u00e9, et bien plus encore.<\/p>\n<h2>R\u00e9sum\u00e9<\/h2>\n<p>L&rsquo;\u00e9dition int\u00e9grale du site et les th\u00e8mes en bloc ont radicalement chang\u00e9 la fa\u00e7on dont nous construisons les sites WordPress. La philosophie des blocs donne aux utilisateurs plus de pouvoir pour cr\u00e9er des mises en page complexes et peaufiner chaque aspect d&rsquo;un site web.<\/p>\n<p>Mais si vous n&rsquo;\u00eates pas encore pr\u00eat \u00e0 franchir le pas parce que votre site n&rsquo;est peut-\u00eatre pas enti\u00e8rement compatible avec les th\u00e8mes de blocs ou parce qu&rsquo;il n\u00e9cessite des fonctionnalit\u00e9s sp\u00e9cifiques d&rsquo;un th\u00e8me classique, les th\u00e8mes hybrides sont une option qui vous permet d&rsquo;avoir le meilleur des deux mondes en vous permettant d&rsquo;utiliser certaines fonctionnalit\u00e9s puissantes des th\u00e8mes de blocs tout en conservant la compatibilit\u00e9 avec les fonctionnalit\u00e9s des extensions et des th\u00e8mes classiques.<\/p>\n<p>Sans parler des performances. Les th\u00e8mes de blocs peuvent \u00eatre gourmands en ressources en raison du rendu important des blocs et de l&rsquo;utilisation de JavaScript. Les th\u00e8mes hybrides optimis\u00e9s pour les performances peuvent rendre votre site plus l\u00e9ger et plus performant en r\u00e9duisant la charge de JavaScript n\u00e9cessaire.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>WordPress 5.9 a introduit une nouvelle fa\u00e7on de construire des sites web : L&rsquo;\u00e9dition compl\u00e8te du site (FSE). Ce fut un tournant pour les utilisateurs de &#8230;<\/p>\n","protected":false},"author":36,"featured_media":80104,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[],"topic":[1038],"class_list":["post-80103","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","topic-themes-wordpress"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v24.6 (Yoast SEO v24.6) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Th\u00e8mes WordPress hybrides : une approche utilisateur et d\u00e9veloppeur<\/title>\n<meta name=\"description\" content=\"Une exploration approfondie des th\u00e8mes WordPress hybrides : fonctionnalit\u00e9s cl\u00e9s, conseils de personnalisation, avis de d\u00e9veloppeurs et quand les pr\u00e9f\u00e9rer aux th\u00e8mes de blocs.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/kinqsta.com\/fr\/blog\/themes-hybrides\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Th\u00e8mes hybrides WordPress : Une approche pour les utilisateurs et les d\u00e9veloppeurs\" \/>\n<meta property=\"og:description\" content=\"Une exploration approfondie des th\u00e8mes WordPress hybrides : fonctionnalit\u00e9s cl\u00e9s, conseils de personnalisation, avis de d\u00e9veloppeurs et quand les pr\u00e9f\u00e9rer aux th\u00e8mes de blocs.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinqsta.com\/fr\/blog\/themes-hybrides\/\" \/>\n<meta property=\"og:site_name\" content=\"Kinsta\u00ae\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/kinstafrance\/\" \/>\n<meta property=\"article:published_time\" content=\"2025-06-12T07:06:07+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-16T07:13:16+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinqsta.com\/fr\/wp-content\/uploads\/sites\/4\/2025\/06\/hybrid-themes-what-are-they.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1470\" \/>\n\t<meta property=\"og:image:height\" content=\"735\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Carlo Daniele\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:description\" content=\"Une exploration approfondie des th\u00e8mes WordPress hybrides : fonctionnalit\u00e9s cl\u00e9s, conseils de personnalisation, avis de d\u00e9veloppeurs et quand les pr\u00e9f\u00e9rer aux th\u00e8mes de blocs.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinqsta.com\/fr\/wp-content\/uploads\/sites\/4\/2025\/06\/hybrid-themes-what-are-they.png\" \/>\n<meta name=\"twitter:creator\" content=\"@carlodaniele\" \/>\n<meta name=\"twitter:site\" content=\"@kinsta_fr\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"Carlo Daniele\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"30 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kinqsta.com\/fr\/blog\/themes-hybrides\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinqsta.com\/fr\/blog\/themes-hybrides\/\"},\"author\":{\"name\":\"Carlo Daniele\",\"@id\":\"https:\/\/kinqsta.com\/fr\/#\/schema\/person\/962dde02ea6f5df089b5d8d0853bbc63\"},\"headline\":\"Th\u00e8mes hybrides WordPress : Une approche pour les utilisateurs et les d\u00e9veloppeurs\",\"datePublished\":\"2025-06-12T07:06:07+00:00\",\"dateModified\":\"2025-06-16T07:13:16+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinqsta.com\/fr\/blog\/themes-hybrides\/\"},\"wordCount\":5057,\"publisher\":{\"@id\":\"https:\/\/kinqsta.com\/fr\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinqsta.com\/fr\/blog\/themes-hybrides\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinqsta.com\/fr\/wp-content\/uploads\/sites\/4\/2025\/06\/hybrid-themes-what-are-they.png\",\"inLanguage\":\"fr-FR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinqsta.com\/fr\/blog\/themes-hybrides\/\",\"url\":\"https:\/\/kinqsta.com\/fr\/blog\/themes-hybrides\/\",\"name\":\"Th\u00e8mes WordPress hybrides : une approche utilisateur et d\u00e9veloppeur\",\"isPartOf\":{\"@id\":\"https:\/\/kinqsta.com\/fr\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinqsta.com\/fr\/blog\/themes-hybrides\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinqsta.com\/fr\/blog\/themes-hybrides\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinqsta.com\/fr\/wp-content\/uploads\/sites\/4\/2025\/06\/hybrid-themes-what-are-they.png\",\"datePublished\":\"2025-06-12T07:06:07+00:00\",\"dateModified\":\"2025-06-16T07:13:16+00:00\",\"description\":\"Une exploration approfondie des th\u00e8mes WordPress hybrides : fonctionnalit\u00e9s cl\u00e9s, conseils de personnalisation, avis de d\u00e9veloppeurs et quand les pr\u00e9f\u00e9rer aux th\u00e8mes de blocs.\",\"breadcrumb\":{\"@id\":\"https:\/\/kinqsta.com\/fr\/blog\/themes-hybrides\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinqsta.com\/fr\/blog\/themes-hybrides\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/kinqsta.com\/fr\/blog\/themes-hybrides\/#primaryimage\",\"url\":\"https:\/\/kinqsta.com\/fr\/wp-content\/uploads\/sites\/4\/2025\/06\/hybrid-themes-what-are-they.png\",\"contentUrl\":\"https:\/\/kinqsta.com\/fr\/wp-content\/uploads\/sites\/4\/2025\/06\/hybrid-themes-what-are-they.png\",\"width\":1470,\"height\":735},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinqsta.com\/fr\/blog\/themes-hybrides\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/kinqsta.com\/fr\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Th\u00e8mes WordPress\",\"item\":\"https:\/\/kinqsta.com\/fr\/sujets\/themes-wordpress\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Th\u00e8mes hybrides WordPress : Une approche pour les utilisateurs et les d\u00e9veloppeurs\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kinqsta.com\/fr\/#website\",\"url\":\"https:\/\/kinqsta.com\/fr\/\",\"name\":\"Kinsta\u00ae\",\"description\":\"Solutions d&#039;h\u00e9bergement premium, rapides et s\u00e9curis\u00e9es\",\"publisher\":{\"@id\":\"https:\/\/kinqsta.com\/fr\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kinqsta.com\/fr\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kinqsta.com\/fr\/#organization\",\"name\":\"Kinsta\",\"url\":\"https:\/\/kinqsta.com\/fr\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/kinqsta.com\/fr\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kinqsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/12\/kinsta-logo.jpeg\",\"contentUrl\":\"https:\/\/kinqsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/12\/kinsta-logo.jpeg\",\"width\":500,\"height\":500,\"caption\":\"Kinsta\"},\"image\":{\"@id\":\"https:\/\/kinqsta.com\/fr\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/kinstafrance\/\",\"https:\/\/x.com\/kinsta_fr\",\"https:\/\/www.instagram.com\/kinstahosting\/\",\"https:\/\/www.linkedin.com\/company\/kinsta\/\",\"https:\/\/www.pinterest.com\/kinstahosting\/\",\"https:\/\/www.youtube.com\/c\/Kinsta\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/kinqsta.com\/fr\/#\/schema\/person\/962dde02ea6f5df089b5d8d0853bbc63\",\"name\":\"Carlo Daniele\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/kinqsta.com\/fr\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/429e5568f88110fd9a409b84cb22197e?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/429e5568f88110fd9a409b84cb22197e?s=96&d=mm&r=g\",\"caption\":\"Carlo Daniele\"},\"description\":\"Carlo is a passionate lover of webdesign and front-end development. He has been playing with WordPress for more than 20 years, also in collaboration with Italian and European universities and educational institutions. He has written hundreds of articles and guides about WordPress, published both on Italian and international websites, as well as on printed magazines. You can find him on LinkedIn.\",\"sameAs\":[\"https:\/\/frammentidicodice.com\/\",\"https:\/\/x.com\/carlodaniele\"],\"url\":\"https:\/\/kinqsta.com\/fr\/blog\/author\/carlodaniele\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Th\u00e8mes WordPress hybrides : une approche utilisateur et d\u00e9veloppeur","description":"Une exploration approfondie des th\u00e8mes WordPress hybrides : fonctionnalit\u00e9s cl\u00e9s, conseils de personnalisation, avis de d\u00e9veloppeurs et quand les pr\u00e9f\u00e9rer aux th\u00e8mes de blocs.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kinqsta.com\/fr\/blog\/themes-hybrides\/","og_locale":"fr_FR","og_type":"article","og_title":"Th\u00e8mes hybrides WordPress : Une approche pour les utilisateurs et les d\u00e9veloppeurs","og_description":"Une exploration approfondie des th\u00e8mes WordPress hybrides : fonctionnalit\u00e9s cl\u00e9s, conseils de personnalisation, avis de d\u00e9veloppeurs et quand les pr\u00e9f\u00e9rer aux th\u00e8mes de blocs.","og_url":"https:\/\/kinqsta.com\/fr\/blog\/themes-hybrides\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/kinstafrance\/","article_published_time":"2025-06-12T07:06:07+00:00","article_modified_time":"2025-06-16T07:13:16+00:00","og_image":[{"width":1470,"height":735,"url":"https:\/\/kinqsta.com\/fr\/wp-content\/uploads\/sites\/4\/2025\/06\/hybrid-themes-what-are-they.png","type":"image\/png"}],"author":"Carlo Daniele","twitter_card":"summary_large_image","twitter_description":"Une exploration approfondie des th\u00e8mes WordPress hybrides : fonctionnalit\u00e9s cl\u00e9s, conseils de personnalisation, avis de d\u00e9veloppeurs et quand les pr\u00e9f\u00e9rer aux th\u00e8mes de blocs.","twitter_image":"https:\/\/kinqsta.com\/fr\/wp-content\/uploads\/sites\/4\/2025\/06\/hybrid-themes-what-are-they.png","twitter_creator":"@carlodaniele","twitter_site":"@kinsta_fr","twitter_misc":{"\u00c9crit par":"Carlo Daniele","Dur\u00e9e de lecture estim\u00e9e":"30 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinqsta.com\/fr\/blog\/themes-hybrides\/#article","isPartOf":{"@id":"https:\/\/kinqsta.com\/fr\/blog\/themes-hybrides\/"},"author":{"name":"Carlo Daniele","@id":"https:\/\/kinqsta.com\/fr\/#\/schema\/person\/962dde02ea6f5df089b5d8d0853bbc63"},"headline":"Th\u00e8mes hybrides WordPress : Une approche pour les utilisateurs et les d\u00e9veloppeurs","datePublished":"2025-06-12T07:06:07+00:00","dateModified":"2025-06-16T07:13:16+00:00","mainEntityOfPage":{"@id":"https:\/\/kinqsta.com\/fr\/blog\/themes-hybrides\/"},"wordCount":5057,"publisher":{"@id":"https:\/\/kinqsta.com\/fr\/#organization"},"image":{"@id":"https:\/\/kinqsta.com\/fr\/blog\/themes-hybrides\/#primaryimage"},"thumbnailUrl":"https:\/\/kinqsta.com\/fr\/wp-content\/uploads\/sites\/4\/2025\/06\/hybrid-themes-what-are-they.png","inLanguage":"fr-FR"},{"@type":"WebPage","@id":"https:\/\/kinqsta.com\/fr\/blog\/themes-hybrides\/","url":"https:\/\/kinqsta.com\/fr\/blog\/themes-hybrides\/","name":"Th\u00e8mes WordPress hybrides : une approche utilisateur et d\u00e9veloppeur","isPartOf":{"@id":"https:\/\/kinqsta.com\/fr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinqsta.com\/fr\/blog\/themes-hybrides\/#primaryimage"},"image":{"@id":"https:\/\/kinqsta.com\/fr\/blog\/themes-hybrides\/#primaryimage"},"thumbnailUrl":"https:\/\/kinqsta.com\/fr\/wp-content\/uploads\/sites\/4\/2025\/06\/hybrid-themes-what-are-they.png","datePublished":"2025-06-12T07:06:07+00:00","dateModified":"2025-06-16T07:13:16+00:00","description":"Une exploration approfondie des th\u00e8mes WordPress hybrides : fonctionnalit\u00e9s cl\u00e9s, conseils de personnalisation, avis de d\u00e9veloppeurs et quand les pr\u00e9f\u00e9rer aux th\u00e8mes de blocs.","breadcrumb":{"@id":"https:\/\/kinqsta.com\/fr\/blog\/themes-hybrides\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinqsta.com\/fr\/blog\/themes-hybrides\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/kinqsta.com\/fr\/blog\/themes-hybrides\/#primaryimage","url":"https:\/\/kinqsta.com\/fr\/wp-content\/uploads\/sites\/4\/2025\/06\/hybrid-themes-what-are-they.png","contentUrl":"https:\/\/kinqsta.com\/fr\/wp-content\/uploads\/sites\/4\/2025\/06\/hybrid-themes-what-are-they.png","width":1470,"height":735},{"@type":"BreadcrumbList","@id":"https:\/\/kinqsta.com\/fr\/blog\/themes-hybrides\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kinqsta.com\/fr\/"},{"@type":"ListItem","position":2,"name":"Th\u00e8mes WordPress","item":"https:\/\/kinqsta.com\/fr\/sujets\/themes-wordpress\/"},{"@type":"ListItem","position":3,"name":"Th\u00e8mes hybrides WordPress : Une approche pour les utilisateurs et les d\u00e9veloppeurs"}]},{"@type":"WebSite","@id":"https:\/\/kinqsta.com\/fr\/#website","url":"https:\/\/kinqsta.com\/fr\/","name":"Kinsta\u00ae","description":"Solutions d&#039;h\u00e9bergement premium, rapides et s\u00e9curis\u00e9es","publisher":{"@id":"https:\/\/kinqsta.com\/fr\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kinqsta.com\/fr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/kinqsta.com\/fr\/#organization","name":"Kinsta","url":"https:\/\/kinqsta.com\/fr\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/kinqsta.com\/fr\/#\/schema\/logo\/image\/","url":"https:\/\/kinqsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/12\/kinsta-logo.jpeg","contentUrl":"https:\/\/kinqsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/12\/kinsta-logo.jpeg","width":500,"height":500,"caption":"Kinsta"},"image":{"@id":"https:\/\/kinqsta.com\/fr\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/kinstafrance\/","https:\/\/x.com\/kinsta_fr","https:\/\/www.instagram.com\/kinstahosting\/","https:\/\/www.linkedin.com\/company\/kinsta\/","https:\/\/www.pinterest.com\/kinstahosting\/","https:\/\/www.youtube.com\/c\/Kinsta"]},{"@type":"Person","@id":"https:\/\/kinqsta.com\/fr\/#\/schema\/person\/962dde02ea6f5df089b5d8d0853bbc63","name":"Carlo Daniele","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/kinqsta.com\/fr\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/429e5568f88110fd9a409b84cb22197e?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/429e5568f88110fd9a409b84cb22197e?s=96&d=mm&r=g","caption":"Carlo Daniele"},"description":"Carlo is a passionate lover of webdesign and front-end development. He has been playing with WordPress for more than 20 years, also in collaboration with Italian and European universities and educational institutions. He has written hundreds of articles and guides about WordPress, published both on Italian and international websites, as well as on printed magazines. You can find him on LinkedIn.","sameAs":["https:\/\/frammentidicodice.com\/","https:\/\/x.com\/carlodaniele"],"url":"https:\/\/kinqsta.com\/fr\/blog\/author\/carlodaniele\/"}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/kinqsta.com\/fr\/wp-json\/wp\/v2\/posts\/80103","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kinqsta.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kinqsta.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kinqsta.com\/fr\/wp-json\/wp\/v2\/users\/36"}],"replies":[{"embeddable":true,"href":"https:\/\/kinqsta.com\/fr\/wp-json\/wp\/v2\/comments?post=80103"}],"version-history":[{"count":8,"href":"https:\/\/kinqsta.com\/fr\/wp-json\/wp\/v2\/posts\/80103\/revisions"}],"predecessor-version":[{"id":80124,"href":"https:\/\/kinqsta.com\/fr\/wp-json\/wp\/v2\/posts\/80103\/revisions\/80124"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinqsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/80103\/translations\/en"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinqsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/80103\/translations\/it"},{"embeddable":true,"hreflang":"pt","title":"Portuguese","href":"https:\/\/kinqsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/80103\/translations\/pt"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinqsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/80103\/translations\/fr"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinqsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/80103\/translations\/de"},{"embeddable":true,"hreflang":"ja","title":"Japanese","href":"https:\/\/kinqsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/80103\/translations\/jp"},{"embeddable":true,"hreflang":"nl","title":"Dutch","href":"https:\/\/kinqsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/80103\/translations\/nl"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinqsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/80103\/translations\/es"},{"href":"https:\/\/kinqsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/80103\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinqsta.com\/fr\/wp-json\/wp\/v2\/media\/80104"}],"wp:attachment":[{"href":"https:\/\/kinqsta.com\/fr\/wp-json\/wp\/v2\/media?parent=80103"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinqsta.com\/fr\/wp-json\/wp\/v2\/tags?post=80103"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinqsta.com\/fr\/wp-json\/wp\/v2\/topic?post=80103"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}