{"id":230267,"date":"2022-11-17T18:41:00","date_gmt":"2022-11-17T15:41:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=230267"},"modified":"2022-11-17T18:53:23","modified_gmt":"2022-11-17T15:53:23","slug":"modelli-wordpress-per-principianti-cose-il-template-comunque","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/it\/modelli-wordpress-per-principianti-cose-il-template-comunque\/","title":{"rendered":"Modelli WordPress per principianti: cos&#8217;\u00e8 il template, comunque?"},"content":{"rendered":"\n<p>Quando si parla di template, per quanto riguarda se \u00e8 un template WordPress, un template JavaScript o un template in qualche altra lingua, penso che sia utile usare un progetto o un esempio concreto per spiegare come funziona piuttosto che parlarne in termini pi\u00f9 esoterici.<\/p>\n<p>Se non hai seguito questa serie e hai appena iniziato a creare modelli, ti consiglio di leggere le prime due parti della serie:<\/p>\n<ol>\n<li><a href=\"https:\/\/wordpress.mediadoma.com\/it\/modelli-wordpress-per-principianti-come\/\" title=\"Com'\u00e8\">Com&#8217;\u00e8<\/a><\/li>\n<li><a href=\"https:\/\/wordpress.mediadoma.com\/it\/modelli-wordpress-per-principianti-html-calling-php\/\" title=\"HTML Chiamata PHP\">HTML Chiamata PHP<\/a><\/li>\n<\/ol>\n<p>Da l\u00ec, suddivideremo il concetto in due parti:<\/p>\n<ol>\n<li>capire cos&#8217;\u00e8 il template,<\/li>\n<li>come pu\u00f2 funzionare il template all&#8217;interno di WordPress.<\/li>\n<\/ol>\n<p>La sfida, ovviamente, sta nel fatto che abbiamo &quot;modelli WordPress&quot; e quindi stiamo parlando di utilizzare un motore di modelli per modificare i modelli di WordPress, come funzionano, come i dati vengono iniettati al loro interno e cos\u00ec via.<\/p>\n<p>Ma far\u00f2 del mio meglio per cercare di chiarire ogni parte.<\/p>\n<h2>Modelli WordPress (ma non modelli)<\/h2>\n<p>Quando si tratta di parlare di modelli, \u00e8 utile avere una definizione funzionante di modelli o motori di modelli. La verit\u00e0 \u00e8 che la creazione di modelli \u00e8 tutta eseguita da un motore di creazione di modelli.<\/p>\n<h3>Una definizione di lavoro<\/h3>\n<p>Una definizione generale di motore di template <a href=\"https:\/\/en.wikipedia.org\/wiki\/Template_processor\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">\u00e8<\/a> :<\/p>\n<blockquote>\n<p>Un processore di modelli (noto anche come motore di modelli o parser di modelli) \u00e8 un software progettato per combinare modelli con un modello di dati per produrre documenti di risultati.<\/p>\n<\/blockquote>\n<p>E sebbene sia accurato, \u00e8 un po&#8217; prolisso o pi\u00f9 complesso del necessario, secondo me, del necessario per spiegare il concetto generale. Forse possiamo elaborare la seguente definizione:<\/p>\n<blockquote>\n<p>Un motore di modelli utilizza la sintassi per inserire i dati in un documento.<\/p>\n<\/blockquote>\n<p>Questo \u00e8 davvero generale e approfondiremo momentaneamente PHP, ma prima volevo dare una definizione di base e funzionante, e poi andare da l\u00ec, in particolare perch\u00e9 i modelli possono essere utilizzati in una variet\u00e0 di linguaggi diversi.<\/p>\n<p>Inoltre, \u00e8 importante riconoscere che un buon motore di creazione di modelli spesso fornisce un livello di sicurezza, flessibilit\u00e0 e potenzialmente anche una &quot;modalit\u00e0 sandbox&quot; dalla quale testiamo il codice prima di distribuirlo alla produzione.<\/p>\n<h3>Che aspetto ha il template?<\/h3>\n<p>A causa della natura della diversa sintassi, la creazione di modelli avr\u00e0 un aspetto leggermente diverso, ma un popolare motore di creazione di modelli PHP si chiama <a href=\"https:\/\/twig.symfony.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Twig<\/a>. Quindi un esempio concreto di modelli basati su PHP che utilizzano Twig potrebbe assomigliare <a href=\"https:\/\/gist.github.com\/tommcfarlin\/2c02b22272f645076f7f735bd61a4034#file-03-twig-example-twig\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">a questo:<\/a><\/p>\n<pre><code>{% extends \"base.twig\" %}\n{% block content %}\n    &lt;h1 class=\"big-title\"&gt;{{foo}}&lt;\/h1&gt;\n    &lt;h2&gt;{{post.title}}&lt;\/h2&gt;\n    &lt;img src=\"{{post.thumbnail.src}}\" \/&gt;\n    &lt;div class=\"body\"&gt; {{post.content}} &lt;\/div&gt;\n{% endblock %}<\/code><\/pre>\n<p>Come puoi vedere, \u00e8 un po&#8217; diverso da quello che siamo abituati a vedere con markup, HTML, tag PHP e cos\u00ec via, sebbene ci siano ancora tag unici per il motore di creazione di modelli.<\/p>\n<p>Tuttavia, se hai familiarit\u00e0 con i concetti di oggetti, puoi vedere come accedervi nel contesto del modello usando la notazione a punti piuttosto che qualsiasi notazione o chiamata di funzione che sei abituato a usare in un documento PHP .<\/p>\n<h2>Esistono motori di template per WordPress?<\/h2>\n<p>S\u00ec e no. Voglio dire, ci sono modi per utilizzare i motori di template nel contesto di WordPress, ma non posso dire che esista un template definitivo per WordPress. Alcuni degli esempi di cose che potresti voler controllare (prima di leggere il prossimo post) sono:<\/p>\n<ul>\n<li><a href=\"https:\/\/github.com\/viniwrubleski\/jade-php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Jade-PHP<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/cjonasw\/wordpress-starter-theme-mustache\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Baffi<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/zach-adams\/sprig-foundation\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Rametto<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/jenssegers\/blade\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Lama<\/a><\/li>\n<\/ul>\n<p>Ma ci sono altre opzioni.<\/p>\n<p>Ma probabilmente user\u00f2 qualcosa come <a href=\"https:\/\/www.upstatement.com\/timber\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Timber<\/a> per il prossimo post.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fonte di registrazione:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/tommcfarlin.com\" class=\"external external_icon\">tommcfarlin.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>I modelli di WordPress possono essere semplificati quando si utilizza un motore di creazione di modelli. Ma cos&#8217;\u00e8 un motore di template e quale ruolo pu\u00f2 svolgere nello sviluppo di WordPress?<\/p>\n","protected":false},"author":1,"featured_media":165473,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[918,928,720,844,865],"tags":[1168],"class_list":["post-230267","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-altro","category-soggetti","category-sviluppatore","category-tutorial","category-wordpress-6","tag-affiai-it"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/posts\/230267","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/comments?post=230267"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/posts\/230267\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/media\/165473"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/media?parent=230267"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/categories?post=230267"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/tags?post=230267"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}