{"id":232104,"date":"2023-01-09T20:21:00","date_gmt":"2023-01-09T17:21:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=232104"},"modified":"2022-11-10T07:38:28","modified_gmt":"2022-11-10T04:38:28","slug":"passer-efficacement-des-variables-a-un-template-wordpress","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/fr\/passer-efficacement-des-variables-a-un-template-wordpress\/","title":{"rendered":"Passer efficacement des variables \u00e0 un template WordPress"},"content":{"rendered":"<p>Un d\u00e9fi auquel sont confront\u00e9s les d\u00e9veloppeurs de th\u00e8mes ou de plugins <code>get_template_part<\/code>est l&rsquo;incapacit\u00e9 de transmettre des variables au mod\u00e8le WordPress charg\u00e9. Il existe cependant une alternative utilisant <code>locate_template<\/code>.<\/p>\n<h3>Aper\u00e7u<\/h3>\n<p>Dans cet exemple, nous allons afficher trois entr\u00e9es <a href=\"https:\/\/easydigitaldownloads.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Easy Digital Download .<\/a> J&rsquo;utilise EDD depuis un moment maintenant et bien qu&rsquo;il ait beaucoup de fonctionnalit\u00e9s, il est toujours \u00e9tonnamment l\u00e9ger.<\/p>\n<p>Nous allons r\u00e9cup\u00e9rer les entr\u00e9es et les enregistrer dans la variable <code>$edd_download<\/code>. Nous chargerons ensuite le mod\u00e8le <a href=\"https:\/\/startfunction.com\/category\/wordpress\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">WordPress en passant la variable.<\/a> En fait, passer la variable, c&rsquo;est trop en dire\u00a0: nous allons simplement charger le mod\u00e8le de mani\u00e8re \u00e0 ce que la <code>$edd_download<\/code>variable ait la port\u00e9e appropri\u00e9e pour \u00eatre utilis\u00e9e dans le mod\u00e8le charg\u00e9.<\/p>\n<h3>Chargement d&rsquo;un mod\u00e8le WordPress<\/h3>\n<p>Ce code peut \u00eatre plac\u00e9 dans une fonction. Vous pouvez ensuite connecter cette fonction \u00e0 une zone de votre th\u00e8me \u00e0 l&rsquo;aide d&rsquo;un crochet d&rsquo;action ou simplement appeler la fonction en tant que balise de mod\u00e8le. Dans mes th\u00e8mes, j&rsquo;utilise des crochets pour que les utilisateurs puissent ult\u00e9rieurement ajouter ou supprimer du contenu. C&rsquo;est tout ce dont nous avons besoin pour le code\u00a0:<\/p>\n<pre><code> 'download',\n    'posts_per_page' =&gt; 3,) );\n\nif ($edd_download) {\n\n    $part = locate_template( 'parts\/download-home.php' );\n    if ('' != $part) {\n\n        require $part;\n    }\n}<\/code><\/pre>\n<h3>Code de mod\u00e8le<\/h3>\n<p>Nous avons maintenant besoin du fichier de mod\u00e8le WordPress. Si vous remarquez l&rsquo;appel ci-dessus, le <code>locate_template<\/code>s&rsquo;attend \u00e0 trouver le fichier <code>download-home.php<\/code>dans le r\u00e9pertoire <code>parts<\/code>\u00e0 l&rsquo;int\u00e9rieur du dossier du th\u00e8me.<\/p>\n<p>Nous devons toujours nous rappeler d&rsquo;appeler <code>wp_reset_postdata()<\/code>apr\u00e8s une boucle foreach si nous avons appel\u00e9 <code>setup_postdata()<\/code>.<\/p>\n<h3>Mots de cl\u00f4ture<\/h3>\n<p>Alors apr\u00e8s tout cela, pourquoi est-ce utile? car les utilisateurs peuvent cr\u00e9er un mod\u00e8le dans un th\u00e8me enfant et remplacer facilement le mod\u00e8le d&rsquo;origine. Il s&rsquo;agit de faciliter la vie de vos utilisateurs. Bien s\u00fbr, cela peut \u00e9galement \u00eatre r\u00e9alis\u00e9 gr\u00e2ce \u00e0 des filtres ou \u00e0 la cr\u00e9ation de fonctions enfichables, mais certains utilisateurs peuvent envisager de modifier un mod\u00e8le ax\u00e9 sur une t\u00e2che comme une approche plus propre que de traiter un fichier avec de nombreuses fonctions pour plusieurs t\u00e2ches diff\u00e9rentes et sans rapport.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Source d&rsquo;enregistrement:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/startfunction.com\" class=\"external external_icon\">startfunction.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Apprenez \u00e0 transmettre efficacement des variables \u00e0 un mod\u00e8le WordPress et \u00e0 les utiliser dedans<\/p>\n","protected":false},"author":1,"featured_media":157983,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[915,893,717,832,1016,841,862],"tags":[1167],"class_list":["post-232104","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-autre","category-code-2","category-developpeur","category-guide-pour-les-debutants","category-sites-utiles","category-tutoriels","category-wordpress-3","tag-affiai-fr"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/posts\/232104","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/comments?post=232104"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/posts\/232104\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/media\/157983"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/media?parent=232104"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/categories?post=232104"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/tags?post=232104"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}