 La cuillère c'était pas prévu donc en tout cas bien merci d'être venu et donc donc voilà on va parler de création d'un site aux petits oignons avec la hiérarchie des templates et ses fonctions associées donc bah pour me présenter rapidement bah je m'attends à la faire un peu il y a toujours un bug en fait c'est bizarre ça saute ah il est arrivé sinon je mettrai le pdf donc voilà j'en attend ma représentée rapidement donc je vais pas revenir dessus sauf que certains m'appellent monsieur marmite je sais pas pourquoi mais donc voilà alors je voulais vous poser une question c'est qui a déjà vu un thème avec des tonnes de fichiers surtout si vous n'avez pas l'habitude voilà il y a du monde alors vous avez vu un petit peu la slide après mais c'est pas grave donc là où est c'est un thème le thème total qu'on trouve sur thème forest alors si des fois on veut personnaliser un thème premium acheté sur thème forest ça peut être une vraie galère on voit des fichiers de partout etc et on se dit oh là qu'est ce qui fin combien de temps je vais passer à retourner le cerveau pour pour arriver à comprendre ce qui se passe dans ce thème et arriver à faire ce que je veux donc en fait le but de cette compérance de cette conférence c'est de vous faire passer de ce stade là à ce stade là pour agenir là je peux je peux rien je peux rien mais en tout cas pour l'exaltation peut-être quelque chose à faire donc voilà l'idée c'est de vous aider un petit peu à comprendre de quoi se compose un thème wordpress que vous en créez un appartant de zéro ou que vous désiriez en personnaliser donc quels sont les bonnes pratiques etc donc déjà on va repartir de zéro qu'est ce qu'un thème wordpress donc je pense qu'on peut définir ça comme un ensemble de fichiers qui permettent de mettre en page de structurer en fait le contenu d'un site wordpress donc et donc voilà ça permet de donner une apparence à son site donc ce qu'il faut savoir c'est qu'un thème wordpress ça se compose au minimum de deux fichiers ça peut ça peut être un petit peu déconcertant mais en fait voilà il ya un thème wordpress ne peut se composer au minimum que de index point php ou de et de style point css alors là c'est vraiment comme je l'ai écrit le minimum syndical mais voilà vous essayez ça marche par contre vous n'avez peut-être pas grand chose qui s'affichera à l'écran mais voilà ça fonctionne alors pour un petit peu diversifier les fichiers on peut décomposer déjà son fichier index point php avec leader donc leader point php pour mettre en tête la sidebar pour mettre la barre latérale les commons c'est tout ce qui concerne l'affichage des commentaires et foutreur le pied de page là ça doit déjà je pense parler à quelques personnes on a aussi un fichier fonction point php dans lequel on peut trouver pas mal de choses ça peut concerner tout ce qui est déclaration des menus des custom post type etc plus d'autres fonctions en fonction du thème justement donc voilà il est facultatif mais on le retrouve vraiment dans tous les thèmes alors à partir de là on a un problème parce que si on reste sur notre fichier index point php voilà tous les sites ont plusieurs types de pages à afficher on a voilà la page portfolio si on a un portfolio etc une page boutique une page article une page de type page peut-être une page en pleine largeur peut-être d'autres choses donc la boutique etc donc on peut vraiment avoir toute une multitude de modèles de pages à afficher et donc avec le fichier index point php bah on va être un petit peu limité du coup la première solution ça sera de mettre des if else partout en fonction du modèle de page on va voir plus tard qu'il y a des fonctions qui existent pour pouvoir bah savoir sur quel modèle de page on se trouve mais clairement si vous voulez faire ça vous êtes un invoiturier vous voulez vraiment essayer de relever un défi mais bon si c'est en plus c'est un gros site avec plein de modèles de pages vous n'est pas fini puis après surtout niveau maintenance vous allez vous amuser donc en fait la solution c'est de utiliser ce qu'on appelle la hiérarchie des templates donc c'est un ensemble je vais pas vous donner à définir sur tout de suite je m'avance un peu donc qu'est ce que la hiérarchie des templates justement et donc c'est un ensemble de fichiers qui servent à afficher des types de pages particuliers donc on va voir que wordpress en procès de plusieurs et on va faire un petit panorama pour vous les présenter donc le concept c'est sur quel type de page te trouvent on quand le visiteur arrive admettons sur la page d'un article ok on se trouve sur une page article et donc la hiérarchie des templates va essayer de trouver un fichier pour afficher donc cet article ou tout autre type de page donc on parle de hiérarchie parce que en fait si le fichier que la hiérarchie va chercher n'est pas présent elle va essayer de chercher un autre fichier puis un autre fichier et si aucun de ces fichiers sont présents elle va se rabattent sur le fichier index.php comme vous pouvez le voir là donc c'est pour ça qu'on parle de hiérarchie il ya comment dire un ordre de priorité et voilà au pire des cas on se rabattent sur index.php c'est pour ça que ça fait partie des deux fichiers qui sont obligatoires pour n'importe quel thème wordpress donc on peut citer quelques fichiers donc on a single.php pour afficher tout ce qui est publication sol donc article mais aussi publication de sol de custom post type qui sait ce que c'est enfin qui ne sait pas ce qui est un custom post type tout le monde sait super il ya des gens qui se sont formés là déjà c'est bien donc single.php après on a page.php donc là je vais vous le donner en mille c'est pour les pages on a ensuite archive.php donc là c'est un fichier on va dire générique qui sert à afficher tout ce qui est page de catégorie page d'étiquette page auteur page date et page de taxonomie donc ça on va revenir après sur sur ce fichier et on a aussi search.php 404.php donc search pour afficher les résultats de recherche et 404.php que je n'ai pas affiché pour tout ce qui est page 404 donc je vous parlais tout à l'heure de archive.php donc là je vous ai dit que ça pouvait c'est un fichier générique qui pouvait couvrir plusieurs types de pages mais justement si on veut donner un style particulier mettons à ses pages catégorie à partir de là on est bloqué donc dans la hierarchy on a justement des fichiers de pages destinés aux catégories donc on a le premier donc que j'ai mis juste ici qui est catégorie.php donc là c'est aussi un fichier générique mais uniquement pour les catégories donc si vous l'utilisez toutes les pages catégorie de votre site donc tous vos articles classés dans n'importe quelle catégorie utilisons ce fichier donc ça ça peut être utilisé de temps en temps après si on a vraiment envie d'aller plus loin si on veut plus de personnalisation on peut mettre un fichier donc utiliser pardon un fichier de la hierarchy des templates pour une catégorie précise donc là on a deux fichiers qui sont proposés on a le catégorie id donc j'ai mis une variable parce qu'il faut mettre le numéro l'identifiant de la catégorie en question donc catégorie id.php et on a catégorie slug donc ce qu'il faut savoir c'est que le catégorie slug donc qui c'est ce que c'est qu'un slug ok donc il y en a qui ne savent pas donc un slug en fait c'est le si vous voulez c'est le nom de la catégorie donc si vous avez une catégorie voyage le slug c'est voyage en minuscule c'est ce qui s'affiche dans l'url si vous l'affichez mais du coup vous l'avez dans l'administration normalement donc voilà vous avez un slug donc si vous créez le fichier catégorie voyage et bien ce fichier sera utilisé pour afficher votre catégorie voyage et donc comme je vous disais il y a une hiérarchie dans les fichiers c'est à dire que si vous créez le catégorie voyage donc on va admettre que la voyage c'est la catégorie numéro 3 si vous créez catégorie voyage.php et catégorie 3.php en fait c'est catégorie voyage qui va prendre le dessus sur catégorie 3 puis en plus c'est beaucoup plus visible parce que quand on se retrouve avec catégorie 3, 4, 5, 6 après il faut ouvrir les fichiers etc pour voir à quoi c'est correspond donc voilà je vous recommande plus d'utiliser catégorie slug si vous voulez personnaliser une catégorie après vous n'êtes pas obligé de le faire pour toutes les catégories si vous y a besoin que d'une catégorie qui possède une structure particulière vous pouvez créer le fichier en question et après toutes les autres catégories utiliseront catégorie.php donc là on a vu comment personnaliser les catégories donc après c'est la même chose pour les étiquettes c'est la même principe je vais pas faire le détail mais après voilà on a le tag.php qui est le fichier générique pour afficher des étiquettes et après si on a envie d'aller un petit peu plus dans la cible une étiquette précise on peut utiliser tagslug.php pareil après pour tag ID c'est juste une question de compréhension donc vous vaut mieux utiliser tagslug alors au niveau des taxonomies déjà qui sait ce qui ne sait pas ce qu'il y a une taxonomie je peux pas se repartir du coup alors une taxonomie donc comme vous savez ce que c'est on a taxonomie.php pour afficher c'est pareil c'est le fichier générique pour les taxonomies après si on a envie de cibler un petit peu plus précisément on peut utiliser tagslug.php et après si on veut encore plus cibler on peut utiliser taxonomie, tiré, taxonomie, tiré de terme donc là c'est un petit peu obscur je vais vous donner un exemple admettons que vous ayez un site avec des publications de type voiture et que vous décidez de les classer par marque vous pourrez par exemple utiliser ce fichier pour créer une mise en page pour tous les véhicules de marque Peugeot avec taxonomie, tiré, tiré, marque pardon tiré Peugeot si vous voulez juste afficher toutes les voitures par marque vous créez taxonomie marque.php et puis si vous voulez pas vous embêter avec tout ça vous utilisez juste taxonomie voilà après on a encore la même chose avec les pages hauteurs donc voilà on peut vraiment personnaliser tous les types de pages avec WordPress donc on a notre fichier générique hauteur.php ensuite après voilà on peut cibler avec Hauteur ID et là on n'a pas Hauteur Slug mais on a Hauteur NiceName donc le NiceName ça correspond souvent aux logins mais parfois ça peut varier donc on peut voir aussi dans la base à quoi ça ressemble le NiceName. Alors au niveau des pages là il y a un fichier qui est un petit peu particulier ce qui se nomme custom.php c'est-à-dire qu'en fait on peut lui donner le nom qu'on veut donc ça correspond au modèle de page personnalisé c'est ce que vous allez trouver dans l'encard attributs de la page lorsque vous modifierz une page donc après vous avez votre petit menu déroulant et vous pouvez sélectionner un modèle de page. Donc là voilà on le nomme un petit peu comme on veut et après on y place le contenu on donne la structure qu'on veut etc après on revient un petit peu à ce qu'on a vu avec les catégories et les étiquettes on a page slug, page ID et page.php le fichier par défaut pour afficher les pages. Du coup on va continuer. Alors avant de changer avec les articles donc là donc bien sûr on a parlé tout à l'heure de single.php le fichier générique pour afficher les publications seules après si on a un custom post type portfolio on peut afficher tous les articles enfin toutes les publications de type portfolio avec le fichier single tiré post type donc là on aurait en l'occurrence single tiré portfolio et depuis la version 4.4 de WordPress donc c'est tout frais on a un nouveau fichier de la hierarchie qui est introduit qui se nomme single tiré post type tiré post name donc là ça permet de donner une structure particulière un agencement à n'importe quelle publication seule de votre site. Donc là si on reprend mettons un élément portfolio on va dire vous avez projet 1 qui est le slug enfin là c'est le post name mais en fait c'est le slug de l'article mais donc on aurait single tiré portfolio tiré projet 1 si vous voulez personnaliser l'apparence d'un article vous mettez single tiré post tiré bonjour tout le monde si on fait référence au premier article publié par défaut donc voilà c'est un nouvel un nouveau fichier qui vient de faire son apparition et depuis la carte point 3 aussi on a un nouveau fichier qui apparu c'est singular.php donc ça c'est de fichiers qui sera appelé par WordPress si la hierarchie enfin s'il est fichier single.php et page.php ne sont pas présents dans votre thème donc en fait ça permet un petit peu de rassembler la fin de faire ressembler la structure des articles au page donc ça c'est un fichier qui était pas mal attendu alors on va parler d'un cas un petit peu particulier c'est la page d'accueil donc ça c'est vrai que la première fois qu'on met le nez dedans on peut être un petit peu perdu donc je vais prendre un petit peu l'inspiration voilà donc voilà le premier fichier à prendre à considération c'est frontpage.php donc si vous créez ce fichier là et que vous le mettez dans votre thème automatiquement la page d'accueil l'utilisera quel que soit les réglages que vous avez pu faire après on a le fichier home.php donc là ça correspond en fait à l'accueil du blog donc c'est pas forcément sur la page d'accueil si vous avez comme sur vp marmite vous avez vp marmite.com slash blog donc là si je crée le fichier ça permettra de mettre en page cette page donc voilà parce que moi au début en fait quand j'ai commencé un petit peu à regarder les thèmes je pensais que c'était home qui servait vraiment à faire la page d'accueil mais en fait non c'est la page des articles donc ça c'est une petite subtilité à prendre en compte lorsqu'on commence à bidouiller un thème alors après on a page.php donc là je l'ai mis page mais en fait on a toute la renaissance qui est au dessus enfin toutes les fichiers qui sont en amont donc on a vu custom.php ou page slug ou page id là en l'occurrence ça serait plus page id parce que sur l'accueil il n'y a pas vraiment de slug donc voilà donc ça c'est la page qu'on définit en tant que page d'accueil lorsqu'on va d'un réglage lecture où on a aussi la même option dans customizer et après si aucun de ces fichiers sont présents et bien on retombe sur index.php pour afficher la page d'accueil donc parce que là tout ce que je viens de dire c'est peut-être un petit peu confus donc il y a une représentation visuelle de la hiérarchie donc là je pense pas que vous viez grand chose donc c'est pour ça que je vous ai préparé un petit téléchargement pour pouvoir avoir la hiérarchie enfin voilà au clair il y a même un fond d'écran vous pouvez le mettre sur votre ordi comme ça vous pourrez apprendre la hiérarchie lorsque vous programmez je sais pas si on va le voir à l'écran là voilà moi je me la suis mis ici donc à chaque fois que j'ai un petit souci je regarde et du coup je retombe sur mon pdf voilà donc il y a aussi quelques petites fiches mémo enfin je vous expliquerai ça tout à l'heure à la fin de la conférence donc voilà une question faut-il systématiquement utiliser les fichiers de la hiérarchie lorsqu'on veut personnaliser son thème donc crée un thème à partir de zéro et bien la réponse c'est en fait pas toujours c'est en fait c'est il faut avoir une position un petit peu équilibrée c'est pour ça que j'ai mis ce bonhomme là je sais pas trop comment comme illustration mais du coup il faut avoir une position équilibrée si on crée un fichier juste pour mettre une ligne de différence par rapport à tous les fichiers par exemple pour les catégories si vous créez catégorie voyage catégorie technologie catégorie je sais pas moi actualité internationale ou que sais-je encore il n'y a pas forcément besoin de créer tous ces fichiers pour me faire une petite modification l'idée en fait donc je vais vous expliquer comment faire lorsque vous êtes dans ce cas là c'est d'utiliser ce qu'on appelle les marqueurs conditionnels alors qu'est ce que c'est que les marqueurs conditionnels en fait c'est des fonctions de warpress qui permettent de tester sur quel type de page on se trouve je vous en ai parlé un petit peu au début et donc vous allez pouvoir savoir si vous êtes sur la catégorie sur une page catégorie sur la catégorie voyage sur une page etc donc grâce à ça vous allez pouvoir faire des tests donc si je reprends l'exemple de la page catégorie au lieu de créer plein de fichiers vous pouvez mettre une une ou deux conditions pour savoir voilà si vous avez peut-être une photo à mettre sur la page catégorie vous pouvez voilà dire est ce que je suis sur la page catégorie voyage et ben ok dans ce cas là j'affiche tel photo donc en fait c'est un peu c'est un mélange à faire entre la car la hiérarchie l'utilisation de la hiérarchie et l'utilisation des marqueurs conditionnels donc là je vais vous en donner quelques-uns c'est pas vraiment une liste exhaustive mais voilà vous avez i single pour les pour savoir si on est sur les articles voilà on peut citer i stag pour les étiquettes is hier si on est sur une page date classée par année mais il y en a vraiment beaucoup on a même il se prévu si on est sur le prévu vous savez quand vous faites aperçu avant de publier mais il y a vraiment pas mal de fonctions on a aussi il se front page pour bas pour savoir si on est vraiment sur la page d'accueil etc donc après voilà c'est ce que je vous disais au début si vous avez envie de faire un peu l'aventurier ou l'aventurier vous pouvez mettre tous ces conditions dans votre fichier index point php et puis voilà vous regardez ce que ça donne mais bon je vous conseille pas trop alors maintenant on va enchaîner avec trois bonnes pratiques relatives à la hiérarchie des templates la première c'est d'utiliser la fonction gait template part gait template part c'est une fonction wordpress qui permet de décomposer en fait son fichier en plusieurs fichiers un peu comme on a vu au départ avec index point php qu'on décomposait en idr etc foutre donc là si vous avez un fichier qui qui est un petit peu important etc vous pouvez le décomposer en plusieurs parties et c'est plus simple à maintenir après voilà il faut pas l'utiliser non plus à l'extrême parce que sinon ça n'aura plus aucun sens donc moi par exemple sur la marmite j'ai utilisé cette fonction pour charger l'appel à l'action en dessous l'article comme ça moi si je veux modifier l'appel à l'action bah j'ai juste à aller dans ce fichier je modifie ma structure etc mon texte et donc j'ai plus besoin de rechercher une heure dans mon fichier après je sais qu'il ya des fonctions de recherche dans les éditeurs de code mais bon ça permet de mieux structurer alors après la deuxième bonne pratique c'est de mettre tous ces fichiers de l'arriarchie à la racine du thème sinon ça ne fonctionnera pas c'est tout simple après c'est vrai que si vous avez beaucoup de fichiers de catégorie donc catégorie 1 2 3 etc vous pouvez vous dire ok je vais les mettre dans un dossier ça va me permettre d'avoir quelque chose d'un peu plus propre sauf que ça ne fonctionnera pas donc ça c'est quelque chose à savoir après par contre vous pouvez le faire pour les fichiers que vous avez créé avec pour l'utilisation de la fonction get template part donc là vous pouvez le mettre dans un dossier et vous regarderez dans le codex pour ce qui est l'utilisation de la fonction get template part vous pouvez après donner le répertoire dans lequel vous allez placer le fichier et ça le chargera automatiquement et après le dernier cas où vous ne pouvez pas mettre des fichiers à la racine d'un thème c'est dans le cas où vous avez beaucoup de modèles de page donc ce qu'on a vu tout à l'heure ce qui correspond à custom point php si vous en avez deux ou trois vous pouvez les laisser dans votre thème si vous en avez dix c'est plus pratique de créer un dossier template et de mettre tout dedans ça sera plus propre si vous travaillez à plusieurs sur un thème c'est quand même bien d'avoir une structure qui soit assez propre et le troisième la troisième bonne pratique que je peux vous donner pour la hiérarchie des templates c'est de faire attention au nom que vous donnez à vos modèles de page personnalisée on l'a vu tout à l'heure on peut donner n'importe quel nom sauf que bien sûr faut pas donner un nom qui pourrait qui pourrait correspondre à un autre fichier en fait l'erreur qu'on voit souvent c'est que on appelle souvent son modèles de page personnalisé page tirait donc là j'ai mis toto mais donc si vous avez une page qui a le slug toto bah automatiquement ça va charger le fichier alors que c'est pas forcément ce qu'on veut faire donc la bonne pratique c'est d'utiliser template après on peut mettre un autre pré fixe mettant que ça correspond pas à un autre fichier de la hiérarchie c'est bon alors maintenant on va passer au hook alors qui sait ce que c'est qu'un hook donc il y en a qui ne savent pas donc un hook en fait c'est un moyen donc le hook ça veut dire crochet en français et donc c'est un moyen en fait d'injecter du code à un endroit particulier ou de modifier du code enfin des variables etc à un certain endroit donc en fait donc il ya trois hook qui sont liés à la hiérarchie des templates donc le premier c'est template redirect ça c'est un hook qui est bien pratique quand vous avez des sites avec des membres des membres voilà et donc si vous avez une page qui doit être accessible uniquement aux membres vous pouvez vous servir de ce hook pour rediriger en fait les les personnes vers admettons une page d'inscription ou une page d'achat si c'est un site de membre payant donc voilà le but de cette de ce hook c'est de faire des redirections donc voilà un petit exemple de code donc on déclare notre fonction juste en dessous on teste si la personne est sur la page bonus avec le marqueur conditionnel il se page avec l'argument bonus et après on teste si l'utilisateur n'est pas connecté et si c'est pas le cas on le renvoie sur la page d'inscription qu'après on pourrait mettre n'importe quelle page la page de son choix et après on n'oublie pas le petit exit c'est important très important et donc après voilà en haut on ajoute son hook avec adaction après le deuxième hook à connaître c'est le hook template include donc là c'est le but c'est de charger un fichier particulier au lieu du fichier par défaut de la hiérarchie donc ça ça peut être utilisé dans dans pas mal de cas je peux vous montrer un exemple donc là je charge un modèle de page particulier pour le portfolio au lieu du template par défaut après voilà sur internet j'ai vu un exemple où quelqu'un cherchait à afficher enfin utiliser un modèle de page particulier pour les sous catégories d'une certaine catégorie donc là en l'occurrence on peut pas le faire enfin on aurait pu le faire on aurait pu faire automatiquement un fichier particulier pour chaque sous catégorie mais il faut avouer que c'est un peu compliqué à gérer surtout que si toutes les sous catégories ont la même structure ça sert à un de faire deux fois le même fichier en juste en changeant le nom donc il suffit de créer une petite fonction qui teste si la catégorie courante est une sous catégorie de telle catégorie et si c'est le cas ben on charge le fichier adéquat donc là c'est un exemple de code et le troisième hook c'est single template donc là ça correspond c'est un hook qui va permettre aussi de charger un fichier particulier mais là c'est pour uniquement les publications seules donc les articles où les fait tout ce qui correspond à single quoi single point php ou à single tirer post type donc là on pourrait avoir un cas d'utilisation parce qu'après là vous allez me dire tout à l'heure on a parlé du nouveau fichier qui a été introduit single tirer post type tirer post name je crois que c'était celui là en fait là on pourrait utiliser ça par exemple dans le cas où vous pliez une infographie donc vous avez une étiquette infographie sur votre article et du coup vous pouvez après faire en sorte que toutes les articles qui sont identifiées avec avec l'étiquette infographie leur donner une mise en page particulière donc par exemple une mise en page en pleine largeur pour faire retirer la saille de barre et donc avoir une mise en page différente après on peut un peu imaginer plein de tests comme ça ça pourrait être beaucoup d'autres choses après c'est votre imagination et les et les projets sur lesquels que vous sur lesquels vous travaillez qui qui vont vous aider et donc pour finir je vais vous donner trois trois bons conseils pour vous lancer et partir donc du bon pied donc le premier conseil c'est suivre l'exemple regarder ce qui se passe dans d'autres thèmes donc les thèmes wordpress gratuit donc les 20 familles donc 2016 etc après il y a d'autres d'autres thèmes sur le sur le réperteur officiel de wordpress qui peuvent vous inspirer après en thème en thème payant enfin on a aussi chez le thème fondri ils font des bonnes choses ils ont aussi un thème gratuit qui s'appelle mec donc là il y a un constructeur de page intégré dedans mais là on peut quand même aller voir le code pour voir à quoi c'est correspond et aussi les thèmes de vous thème qui sont qui sont super bien conçus là en plus vous aurez des exemples pour tout ce qui est vous commerce donc ça peut être intéressant vous avez storefront qui est gratuit donc donc voilà deuxième conseil faire des thèmes enfants ça c'est souvent la chose sur laquelle on pêche au départ des fois enfin qu'on personnalise un thème un thème wordpress gratuit ou payant peu importe enfin moi le premier au départ j'avais personnalisé directement dans le thème et puis un beau jour on se rend compte que le thème est mis à jour on a perdu toutes ces modifs donc après on pleure mais bon comme on fait tous des sauvegarde après on peut restaurer bien sûr n'est ce pas et donc le troisième conseil si vous partez de zéro c'est peut-être d'utiliser ce qu'on appelle un starter thème donc un thème de démarrage donc certains hier je crois on dit qu'ils avaient leur propre starter thème mais après vous pouvez utiliser underscore c'est le je pense que c'est plus connu ça a été créé par automatique mais après il y a beaucoup d'autres starter thèmes qui existent donc après voilà faut faire son choix en fonction de ce qui existe et puis voilà donc merci de votre attention je vous rappelle avant de terminer ou de passer aux questions que vous pouvez aller sur doule et marmin point comme stash hierarchy pour télécharger une hiérarchie des templates à mettre en fond d'écran il y a aussi des exemples de code que j'ai donné il y a la présentation dire source complémentaire enfin bref tout ce qu'il faut pour pour bien commencer voilà merci vous des questions alors bonjour et merci je suis là question rapide pourquoi préférer la fonction get template part par exemple un includes ou un wari kairon c'est justement la chose dont j'ai oublié de parler du coup en fait l'avantage de l'utiliser la fonction get template part par rapport à un includes un rick wire c'est que si après on utilise des thèmes enfants donc après pour un projet un projet on va dire sur mesure c'est peut-être pas forcément le cas mais pour un projet qui utilise des thèmes enfants si vous avez après un sous dossier dans lequel il y a toutes vos parties et bah ça fonctionne avec les thèmes enfants et get template part en fait get template part d'abord regarder dans le thème enfant si le fichier existe et après regarder dans le fichier dans le thème parent ok d'accord merci oui bonjour d'ailleurs vous avez demandé si on connaissait taxonomie pour un php ouais j'ai dit oui mais en fait j'ai monté juste je vous en parliez deux minutes c'est bien faut avouer de m'y pardonner comment dire donc en fait une taxonomie c'est un moyen de grouper des contenus donc en fait les catégories des étiquettes sont des taxonomie donc ça ça permet de grouper les articles mais après on peut en définir d'autres donc là ben justement on peut passer par le fichier fonction pour un php pour définir de nouvelles taxonomie mais tout à l'heure voilà je disais je parlais de voiture et de marque donc marque serait une taxonomie pour voiture on pourrait avoir année de fabrication qu'est ce qu'on pourrait avoir d'autres plein de choses motorisation etc donc c'est un moyen de grouper les contenus donc en fait des taxonomie voilà on peut en créer de nouvelles sur les articles mais ça correspond plus au type de contenu personnalisé en fait c'est bon j'ai répondu à votre question bonjour bonjour salut justement je voudrais revenir sur la question précédente et j'ai un par rapport à ce que j'ai dit hier en fait j'ai acheté un thème et il utilise des récroyeurs et des includes et du coup la hiérarchie enfin je peux pas modifier dans mon thème enfant enfin c'est ce que j'ai cru comprendre ouais et donc est ce que il y a une solution à ça ou je suis me suis fait avoir insulté l'auteur sur le sport mais après soit tu rebidouilles le thème mais après tu dis adieu mis à jour après je ne sais pas tu débutes ou pas tu t'as un certain niveau j'ai un niveau débutant moyen débutant moyen ouais non mais après voilà je connais pas ton projet mais si après tu estimes que t'as plus besoin des mises à jour alors après s'il n'y a pas des 50 000 options dans le thème enfin je sais pas mais tu peux partir comme ça mais après dit adieu mis à jour quoi voilà d'accord mais il aurait fallu utiliser gâtelon l'auteur aurait dû utiliser gâtemplette parce que c'est la bonne pratique et oui enfin c'est vrai qu'il y a beaucoup d'auteurs sur thème forest qui s'affranchissent un peu des bonnes pratiques et du coup c'est tout le monde un petit peu qui est pénalisé quand on veut après essayer de faire les choses proprement quoi c'est une baisse pioche quoi d'ailleurs d'autres questions bonjour et merci pour votre conférence importe la conférence j'avais une question je suis dans le cas où j'ai un site avec on va dire une dizaine de custom post type et ma question c'est est-ce qu'il vaut mieux faire un single qu'après on redivise avec des conditions sur des des contentes en des template parts ou est-ce que vaut mieux faire un single par custom post type après ça défend ça dépend la différence qu'il y a entre la structure de tes pages pour chaque chacune de tes custom post type alors on va dire qu'il y a des fields des custom fields qui sont différents et du dôme qui est potentiellement différent aussi après je dirais que c'est un dosage à faire en fonction de ton projet après si tu as un paquet de conditions comme ça dans ton fichier single vaut peut-être mieux passer par différents fichiers quand même parce que de base le WordPress fait des séparations en contente mais c'est pour les formats je pense après c'est oui enfin c'est vrai qu'on peut utiliser du get template part pour les formats d'articles c'est ça que tu veux dire ouais ouais c'est vrai enfin j'utilise pas vraiment les formats mais on pourrait utiliser le même système pour les les cas ou un switch pour sur ton custom post type ouais tout à fait ouais avoir à tester mais en fonction des vraiment des différences qui ont une dizaine après il faut voir le niveau après de la maintenance de ton thème voir ce que ça donne sur le long terme si c'est plus galère d'avoir plein de fichiers à gérer ou juste voir comment ça peut évoluer par la suite quand je pense ok je peux pas te donner une réponse précise je suis toujours la recherche mais non mais après fait ton truc et puis voir si au bout d'un moment t'es coincé tourne pas en rond pendant pendant trop longtemps quoi c'est sûr ok merci merci à toi c'est juste un complément d'information je ferai en fait dans l'histoire de la hiérarchie des templates index.php c'est le fichier pour tout et en fait wordpress va d'abord chercher les tout premiers comme tu disais tout à l'heure on part du haut et après donc il y a une histoire de performance aussi c'est à dire qu'on s'y trouve pas quelque chose ils vont chercher un autre etc donc au plus on tape dans l'arbre que tu montrais tout à l'heure je sais plus index c'est à gauche ou à droite je sais plus on peut retourner le on peut retourner le chemin là. Ok donc au plus on tape haut en fait au plus le thème sera performant. Du coup c'est peut-être plus pratique pour toi de créer chacune. Mais voilà après ça va dépendre si tu modifies juste un truc de archif par exemple pour une seule archive bon oui c'est vrai qu'on voit une exception mais sinon si tu prends systématiquement une exception à chaque fois il vaut mieux il vaut mieux créer des fichiers à part en fait mais c'est vrai qu'on voit souvent dans le fichier archif.php donc beaucoup sur les thèmes je crois que c'est le cas sur les 266 etc on voit archif.php on voit isc catégorie après c'est écrit catégorie classée dans telle catégorie etc on dépile comme ça de créer tag etc catégorie auteur et tout. Et un petit complément normalement le fichier index.php ça doit être zéro ligne de code. Vu que tout est traité en amour. Vu que tout est censé être traité avant. Une autre question faut pas être timide. On a le temps en fait on a une demi heure. Puisque quand j'avais répété j'avais mis une demi heure j'aurais dû mettre plus de slide. Après j'ai sauté d'autres choses j'aurais pu parler de attachment.php qui correspond au fichier qui permet de mettre en page tout ce qui est fichier attaché donc les images on peut remonter après avec les types si vous avez un image.php si vous avez des images affichées après on a le meme type et le sub type c'est vraiment des cas assez précis assez peu utilisé je pense ça dépend des projets je peux pas trop juger. C'est la même question. C'est encore moi. Du coup comme on en parle à quoi ça sert parce que moi à chaque fois quand je fais une galerie par exemple une galerie média par défaut liée à l'attachement je préfère au pire avoir une night box que ça redirige vers une autre page et on sait pas trop ce que c'est au final. En fait il peut avoir des cas de projet où c'est utile mais moi dans tous les projets sur lesquels j'ai bossé j'ai jamais eu le cas non plus mais en fait ça existe je sais pas si tu as un fichier PDF peut-être que tu veux le mettre en page ou l'afficher directement d'afficher directement le fichier après si ça existe c'est qu'il doit avoir des cas mais après c'est vrai qu'ils sont assez peu courants. D'accord donc en fait dans l'isile on mettraient quelque chose en page avec ce fichier sinon en termes de référencement ou autre il n'y a pas d'autre. Moi je pense pas que comme je t'ai dit je m'en sers pas mais comme beaucoup de gens. Si il y a quelqu'un qui s'en sert peut-être nous en parler. Oui c'est une bonne question. Merci. Pas de soucis. Bonjour Michel. Est-ce que vous pouvez reparler des templates redirect ? Vous savez qu'il y en a deux vers l'extérieur il y avait changement de modèle parce que je trouve que c'est intéressant. Oui je peux revenir un peu en arrière. Donc ce qu'il faut bien comprendre avec template redirect c'est pour faire des redirections en fait c'est dans le nom et template include c'est pour vraiment utiliser un autre fichier à la place du fichier par défaut. Donc après je sais pas ce que tu veux que je te dise en plus de si je peux broder. Mais après il y a des exemples. Je les ai mis dans le paquet j'ai mis des liens vers le logiste avec les fichiers. Donc je sais pas ce que je peux te dire de plus. Template redirect moi je l'utilise par exemple quand je passe d'un site à un autre parce qu'il y a un changement de nom de domaine et je fais une analyse de l'url et puis je refais un get permailing et ça permet momentanément de passer d'une page sur un site à la même page sur l'autre site qui est en train d'être créé. Tu passes pas par le htaccess pour faire ça ? Pas quand on le fait progressivement. Ah d'accord. Un exemple j'étais un espace membre quand on veut se connecter. Ouais c'est ça. Une fois qu'on est connecté template redirect on se met dans le hook use user logidim et si il est pas sur sa page mon compte c'est bien tu le redirige vers sa page de compte automatiquement par exemple. Une utilité du template redirect. Après oui c'est vrai que du coup tu pourrais rediriger sur une page sur un autre domaine quoi avec ton test quoi s'il arrive sur une certaine page oui c'est possible aussi. Ou typiquement quelqu'un qui n'est pas connecté qui accède à une certaine page et ben on le redirige sur la page de login. Une redirection fonction d'une condition. Voilà. Oui bonjour. Au niveau de template part en fait je voulais savoir si parce que le principal inconvénient c'est qu'on peut pas passer de variable en fait quand on utilise cette fonction et est-ce que tu as une astuce pour faire passer une variable là dedans ? Après si tu utilises les variables ouais je vois pas trop le moyen de faire passer une variable par get template part. En moins qu'il y a un troisième paramètre mais je pense pas. Non il n'y a pas de paramètres donc oui c'est juste tu cherches ton fichier quoi. Si tu veux passer une variable tu l'aises dans ton fichier de base et pas le mettre dans voilà on récupère encore ta variable dans un quartier de get template. Il y a des requêtes après ça refait faire les requêtes. Merci. Oui bonjour Alex. Tout à l'heure tu disais que tous les fichiers au niveau de l'aborécence ils étaient à la racine quand tu utilises un thème enfant physiquement ils sont où ? Ah bah ils doivent être placés au même endroit. Du thème enfant ? Ouais. Donc si tu as ton catégorie pour un PHP qui est dans ton thème parent et que tu veux modifier l'apparence de ce fichier là tu le places à la racine de ton thème enfant. Ah oui pas à la racine du thème. Ah bah non ce que dans le principe après tu dois tout mettre dans le thème enfant c'est ce qui est dans le thème enfant prend le dessus par rapport à ce qu'il y a dans du thème parent. Oui mais après si tu as comme je disais un fichier qui est chargé par get template part qui est dans un sous dossier du thème parent et que tu veux modifier l'avantage c'est que tu peux mettre tu crée ton dossier dans ton thème enfant tu mets le même tu dupliques ton fichier tu fais tes modifications et donc là ça sera aussi pris en compte. Juste pour répondre à l'histoire de variable dans le template part il me semble alors je suis pas sûr et je suis pas trop expert sur le domaine mais qu'il y a une il y a une fonction qui s'appelle cette carriva cette carriva qui permet justement de rendre global des variables et qui permettent justement de les faire descendre dans les dans les templates part. Ok mais je n'ai jamais eu le cas donc je connaissais pas. Dans le cas où mettons je veux faire dans mon thème bon j'ai un template pour mes catégories et moi je vais en faire un juste pour une catégorie précise. Oui. Sauf que le thème c'est pas moi qui est développé c'est quelqu'un d'autre du coup je vais faire mes mises à jour je mets quand même dans le thème enfant pour en utilisant un slug par exemple. Oui du coup si le fichier que tu crée n'existe pas dans le thème par an tu peux toujours le mettre dans le thème enfant. D'accord il sera quand même pris en compte. Juste un petit truc pour les crochet et fonction point PHP quand il y a un thème enfant le fonction point PHP du thème enfant est appelé premier mais si on fait un auteur thème setup et qu'on veut qu'il soit appelé avant ou après il faut bien penser à l'ordre de chargement 10 ou 11 selon l'ordre qu'on veut donner. Je n'ai pas bien entendu ta question mais c'est une remarque quoi. Oui c'est vrai que le fichier fonction point PHP du thème enfant est chargé avant celui du thème par an. Mais si on veut que le filtre soit appelé après il faut à filtre. Oui après il faut bien gérer ses priorités au niveau de ses fichiers effectivement. Si on met 10 ça marche pas quoi peut-être. Bonjour Salut. Alors moi je ne vais pas tout à fait parler exactement de l'arriarchie des parties de WordPress mais plutôt de l'arriarchie. Function point PHP c'est-à-dire qu'on ne va pas tout mettre dans le fonction éventuellement et quelle est ta hiérarchie à toi. Si je veux charger d'autres choses. Comment tu vas ranger les choses etc. Comment je vais ranger les choses. Après tout est géré par des hooks donc après il faut avoir un fonction des priorités c'est pas si tu mets la déclaration de ta fonction en haut ou en bas qui va changer quelque chose c'est la priorité de ton hook alors après ça dépense que tu fais. Non ma question c'est si tu fais des includes dans tous les sens dans le fonction point PHP. Tu crées après un dossier fonction et tu range tous tes dossiers enfin tout est fichier là dedans. Après ça dépense que tu appelles si tu appelles un petit framework tu auras besoin des fonctions donc il faut mieux que tu le place en haut. Si tu appelles des choses qui sont puis sont gondaires tu peux en placer en bas tu vois par exemple si tu veux c'est un fait que t'as créé un fichier dans lequel t'as déclaré plein de short codes tu peux les déclarer à la fin quoi tu vois. La question je crois que c'est comment tu nommes tes fichiers comment tu nommes tes fichiers comment comment oui comment tu organizes tout ça. Après tu peux créer un dossier ink dans lequel tu mets tu mets tes fichiers ouais tu veux dire la nomenclature de nommage de tout ça exactement après ouais moi je crée un dossier ink dans lequel tu peux mettre ça après tu as créé ton propre framework tu peux créer un dossier framework t'as pas mal de choses ou un ink include t'as pas mal c'est ton livre choix après. Tu peux le faire en fonction de tes hooks normalement dans le fonction pas PHP on est censé avoir que des hooks donc si tu as un hook tu as plusieurs hooks qui parlent d'aJAX tu fais un JAX.hp si tu as des hooks tu agisses que sur l'admine tu fais admins.hp en fonction des hooks que tu utilises. Merci pour la conférence. Je veux juste savoir en fait est-ce qu'on se maman des travaux pour encore modifier ces terroristes. Alors je sais pas s'il y a des nouveaux fichiers qui sont prévus comme j'ai dit dans la conférence c'est singular qui a été rajouté dans la 4.3 et le single post type post name dans la 4.4 mais moi honnêtement je n'ai pas regardé s'il y a de nouvelles choses qui allaient être prévues pour la 4.5 ou les futures versions après je pense qu'on a déjà un bon petit panel de fichiers pour pouvoir faire ces mises en page sinon avec le rest API est-ce que ça va changer encore nous ? Est-ce qu'il y aura des influences ? Je ne pense pas qu'il y aura de fichiers particuliers par rapport à ça tu vas taper dans le après avec la rest API tu pourras gérer ça avec le JS etc donc ça sera encore d'autres fichiers si tu décides de faire un thème tout en JS ou tout avec un autre autre chose. Merci. Bonjour. Merci pour tout ça on s'a éclairci un petit peu les choses on y va un peu plus clair. Tu as parlé tout à l'heure de pouvoir renommer les pages un peu comme on nous semblait dans le cas où on aurait le besoin de faire plusieurs templates de pages il se peut ça m'est déjà arrivé d'avoir des clients qui me demandaient d'avoir un aider différent en fonction d'une partie du site est-ce que tu pourrais nous dire comment tu fonctionnais dessus ? Oui ça m'est déjà arrivé du coup tu vas dans ton idr.php alors tu as plusieurs solutions pour faire ça soit tu gardes ton idr de base et après tu mets un marqueur conditionnel en fonction de ta page et tu charges après ça dépend où tu veux faire tes modifications mais tu peux charger différents fichiers à partir du leader par exemple une une partie le menu par exemple non si un utilisateur se connecte dans la partie membre du site internet on veut que le header change complètement quoi ouais bah tu peux tu peux faire ça bah tu test si l'utilisateur est connecté alors du coup ouais tu pourrais faire un test en fait sur tous les fichiers ouais je dirais tu charges après il y a peut-être un hook pour le leader tu fais un conditionnel tu fais un get-hider après tu peux cimer le sous nom du leader que tu veux afficher ouais tu peux faire ça mais tu peux aussi passer par des hooks parce qu'en fait get-hider avec accrocher le sous nom du leader ouais il y a plusieurs solutions en fait si tu veux mais tu peux passer par des hooks et tu peux passer par voilà il crée un fichier idr idr connecté et le charger si la personne est connectée à la place de ton get-hider tu fais tu mets get-hider connecté merci enfin ta plusieurs ta plusieurs cas comme ça ouais oui c'est vrai oui effectivement ouais je sais je sais plus c'est get-hider ou double vped mais il y en a un des deux où tu peux placer un paramètre et ça te permet de charger deux différents fichiers et d'heure donc tu fais ton test et d'heure tirer ce que t'as mis en paramètre get-hider et un paramètre tu mets connecté quoi ouais voilà ouais c'est ça effectivement get-hider et get-footer voilà ça marche aussi pour les deux c'est bar aussi oui oui est ce que tu peux faire un arbre droit sans perdre ta cuir en bois un an quoi un arbre droit un arbre droit j'ai fait me planter quand même j'ai pas une planter en direct devant vous mais voilà pour le final on peut faire difficilement mieux donc on peut tous applaudir c'est filmé mais bon