{"id":230252,"date":"2022-11-16T19:36:00","date_gmt":"2022-11-16T16:36:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=230252"},"modified":"2022-11-09T20:48:27","modified_gmt":"2022-11-09T17:48:27","slug":"modelli-wordpress-per-principianti-come","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/it\/modelli-wordpress-per-principianti-come\/","title":{"rendered":"Modelli WordPress per principianti: com&#8217;\u00e8"},"content":{"rendered":"\n<p>Quando ho iniziato a pensare al template in WordPress, ho pensato a due aspetti:<\/p>\n<ol>\n<li>contenuti specifici per <a href=\"https:\/\/tommcfarlin.com\/register\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">i membri<\/a> ,<\/li>\n<li>contenuto che potrebbe essere suddiviso in un singolo post.<\/li>\n<\/ol>\n<p>Ma pi\u00f9 ci pensavo, pi\u00f9 mi rendevo conto che poteva (e probabilmente dovrebbe) essere spiegato nel corso di alcuni post.<\/p>\n<p>Quindi analizzer\u00f2 lo stato attuale dei modelli di WordPress e quindi i modi pratici in cui possiamo organizzare, ad esempio, i nostri plug-in in modo da utilizzare PHP standard.<\/p>\n<p>Successivamente, in una serie futura, esaminer\u00f2 cosa significa utilizzare altri motori di creazione di modelli (sia PHP che JavaScript nel lavoro che svolgiamo).<\/p>\n<p>Per cominciare, per\u00f2, voglio dare un&#8217;occhiata a come vediamo spesso i modelli scritti nel contesto di temi e plugin di WordPress.<\/p>\n<h2>Modelli WordPress per principianti<\/h2>\n<p>A seconda della tua esperienza con WordPress e altri sistemi basati su PHP, la tua definizione di template sar\u00e0 diversa da quella di qualcun altro.<\/p>\n<p>Quindi, per cercare di creare una definizione comune che utilizzer\u00f2 in questa serie di post, verr\u00e0 utilizzato <a href=\"https:\/\/codex.wordpress.org\/Templates\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">il codice di WordPress:<\/a><\/p>\n<blockquote>\n<p>I modelli sono i file che controllano come verr\u00e0 visualizzato il tuo sito WordPress sul Web.<\/p>\n<\/blockquote>\n<p>La pagina prosegue parlando di come funziona in combinazione con il database e altre risorse e ti consiglio di leggerlo se non ne hai familiarit\u00e0.<\/p>\n<p>Tuttavia, la definizione di cui sopra funziona bene per come ho intenzione di andare avanti pensandoci.<\/p>\n<h3>1 Com&#8217;\u00e8 (in questo momento)<\/h3>\n<p>Quando si tratta di pensare ai modelli di WordPress, penso che aiuti a considerare un singolo modello con codice <a href=\"https:\/\/gist.github.com\/tommcfarlin\/2c02b22272f645076f7f735bd61a4034#file-00-content-container-php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">simile a questo:<\/a><\/p>\n<pre><code>&lt;div id=\"content-container\"&gt;\n\n  &lt;p&gt;\n    Oh! The garbage chute was a really wonderful idea. What an incredible smell you've discovered! Let's get out of here! \n    Get away from there... No! wait! Will you forget it? I already tried it. It's magnetically sealed! Put that \n    thing away! You're going to get us all killed.\n  &lt;\/p&gt;\n\n  &lt;h2&gt;List of Post Titles For Acme Post Type&lt;\/h2&gt;\n  &lt;?php\n  $args = array(\n    'post_status'    =&gt; 'publish',\n    'post_type'      =&gt; 'acme',\n    'posts_per_page' =&gt; '10'\n  );\n  $custom_query = new WP_Query( $args );\n\n  if ($custom_query-&gt;have_posts()) {\n    echo '&lt;ul&gt;';\n    while ($custom_query-&gt;have_posts()) {\n      $custom_query-&gt;the_post();\n      echo '&lt;li&gt;'. get_the_title(). '&lt;\/li&gt;';\n    }\n    echo '&lt;\/ul&gt;';\n    wp_reset_postdata();\n  }\n  ?&gt;\n\n  &lt;p&gt;\n    Absolutely, Your Worship. Look, I had everything under control until you led us down here. You know, it's not \n    going to take them long to figure out what happened to us. It could be worst... It's worst. \n    There's something alive in here! That's your imagination. Something just moves past my leg! \n    Look! Did you see that? What? Help!\n  &lt;\/p&gt;\n\n&lt;\/div&gt;&lt;!-- #content-container --&gt;<\/code><\/pre>\n<p>Il punto del codice sopra \u00e8 che vedi che mescola PHP e HTML.<\/p>\n<p>Inoltre, \u00e8 importante notare che ciascuno di questi file ha uno stile utilizzando CSS e potrebbe avere un comportamento aggiuntivo controllato tramite JavaScript. A tal fine, puoi concettualizzarlo in questo modo:<\/p>\n<p>Questo rappresenta un unico modello che unisce HTML e PHP in un unico modello. E quel modello viene quindi disegnato con CSS e controllato con JavaScript.<\/p>\n<p>Tutti questi funzionano insieme per fornire ci\u00f2 che l&#8217;utente vede.<\/p>\n<h3>2 L&#8217;organizzazione di sviluppatori genera prestazioni?<\/h3>\n<p>Ma il modo in cui funziona \u00e8 un po&#8217; disordinato e, sebbene possa sembrare buono per l&#8217;utente, solleva alcune domande:<\/p>\n<ul>\n<li>\u00c8 performante come potrebbe essere?<\/li>\n<li>Quanto \u00e8 facile da mantenere per uno sviluppatore?<\/li>\n<li>Qual \u00e8 il processo di costruzione?<\/li>\n<li>come vengono mantenuti e organizzati i beni?<\/li>\n<\/ul>\n<p>Certo, la maggior parte di ci\u00f2 che stai leggendo sopra \u00e8 molto incentrato sullo sviluppatore, ma trovo che quando un codice \u00e8 organizzato in modo tale che sia facile per gli sviluppatori lavorarci spesso pu\u00f2 essere facile anche pi\u00f9 veloce per l&#8217;utente.<\/p>\n<p>Cosa significa, per\u00f2?<\/p>\n<ul>\n<li>Vi presentiamo Sass?<\/li>\n<li>Minimizziamo JavaScript?<\/li>\n<li>Come combiniamo queste risorse e le importiamo?<\/li>\n<li>Che dire delle query PHP personalizzate che si verificano nel contesto di ciascun modello?<\/li>\n<\/ul>\n<p>E sebbene le prime cose siano importanti e ne valga la pena (e potrei trattarne una serie dopo), separare la logica dall&#8217;interno di un modello anche senza un motore di modelli pu\u00f2 aiutare a rendere il codice pi\u00f9 incentrato sullo sviluppatore.<\/p>\n<p>Rende le cose pi\u00f9 veloci per l&#8217;utente? Non necessariamente. Ma ci aiuta a fare il primo passo per fare proprio questo.<\/p>\n<h2>Riorganizziamoci<\/h2>\n<p>Nel prossimo post di questa serie, analizzer\u00f2 il contenuto che siamo abituati a vedere nei modelli di WordPress attraverso un esempio e inizier\u00f2 a riorganizzarlo in modo che sia meglio organizzato in modo tale che le tecniche possano essere utilizzate in diversi progetti.<\/p>\n<p>Ci\u00f2 significa spostare le cose nelle loro funzioni (o anche all&#8217;interno delle loro classi e quindi delle loro funzioni) e come possiamo chiamarle dal contesto dei nostri modelli.<\/p>\n<p>In definitiva, questo porter\u00e0 a un codice pi\u00f9 facile da leggere, una migliore separazione delle preoccupazioni e ci sposter\u00e0 verso modi per cambiare il modo in cui i dati vengono inseriti in un modello.<\/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 sono il modo in cui i dati vengono visualizzati all&#8217;utente, ma come possiamo prendere i modelli di WordPress e migliorare la loro organizzazione per utenti e sviluppatori?<\/p>\n","protected":false},"author":1,"featured_media":223990,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[896,928,844,865],"tags":[1168],"class_list":["post-230252","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-codice","category-soggetti","category-tutorial","category-wordpress-6","tag-affiai-it"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/posts\/230252","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=230252"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/posts\/230252\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/media\/223990"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/media?parent=230252"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/categories?post=230252"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/tags?post=230252"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}