{"id":233627,"date":"2023-02-18T12:52:00","date_gmt":"2023-02-18T09:52:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=233627"},"modified":"2022-11-11T00:43:15","modified_gmt":"2022-11-10T21:43:15","slug":"tutorial-sul-tema-wordpress-per-principianti-parte-3-contenuto-dinamico","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/it\/tutorial-sul-tema-wordpress-per-principianti-parte-3-contenuto-dinamico\/","title":{"rendered":"Tutorial sul tema WordPress per principianti \u2013 Parte 3: contenuto dinamico"},"content":{"rendered":"\n<p>In questa lezione del tutorial sul tema WordPress per principianti impareremo gli hook in WordPress e aggiungeremo alcuni hook nel nostro tema necessari affinch\u00e9 un tema funzioni correttamente con WordPress e plugin. Inizieremo anche ad accedere ai contenuti dinamici da WordPress nella nostra intestazione, come ottenere automaticamente il titolo della pagina corrente.<\/p>\n<p>Per prima cosa dobbiamo imparare qualcosa sugli hook in WordPress. Gli hook sono una funzionalit\u00e0 fondamentale con cui devi familiarizzare. Non sono un fan della semplice visualizzazione di un intero gruppo di codice in cui \u00e8 necessario copiare e incollare senza sapere cosa fa veramente. Se stai seguendo questo tutorial, vuoi impararlo correttamente, giusto?<\/p>\n<p>Non preoccuparti, per ora lo terr\u00f2 breve. Impareremo di pi\u00f9 su questi pi\u00f9 avanti in questo tutorial.<\/p>\n<h2>Hook in WordPress<\/h2>\n<p>In breve; poich\u00e9 WordPress esegue tutto il codice per il caricamento e il rendering di una pagina, ci sono alcuni &quot;punti di controllo&quot; &#8211; che chiamiamo hook. Questi punti \u00e8 dove WordPress consente agli sviluppatori di modificare o aggiungere il proprio codice. WordPress ha definito un intero gruppo di &quot;punti di controllo&quot; in cui, ognuno con un nome univoco. Se ne conosci il nome, puoi aggiungere il tuo codice a questi checkpoint. E cos\u00ec puoi facilmente dire a WordPress di eseguire il tuo codice quando raggiunge quel checkpoint come parte del suo processo.<\/p>\n<p>Esistono due tipi di ganci; azioni e filtri. <strong>Le azioni<\/strong> sono punti nel codice in cui puoi aggiungere codice personalizzato, ad esempio emettere qualcosa o fare qualcosa per i tuoi scopi. <strong>I filtri<\/strong> sono punti nel codice in cui \u00e8 possibile modificare una determinata variabile prima che venga utilizzata o generata. Sono molto simili, ma i filtri sono associati a una variabile specifica e le azioni no.<\/p>\n<p>Plugin, temi e WordPress stesso possono &quot;agganciare&quot; il loro codice usando <code>add_action()<\/code>per le azioni e <code>add_filter()<\/code>per i filtri. Queste due funzioni dicono a WordPress di eseguire il codice agganciato ogni volta che l&#8217;esecuzione raggiunge questi hook.<\/p>\n<p>Per definire gli hook che usi <code>do_action()<\/code>per le azioni e <code>apply_filters()<\/code>per i filtri.<\/p>\n<p>Per chiunque sia interessato a saperne di pi\u00f9, ho un altro <a href=\"http:\/\/awhitepixel.com\/blog\/all-about-hooks-in-wordpress\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">post che approfondisce gli hook<\/a> in WordPress.<\/p>\n<p>Un tema WordPress deve includere alcuni hook (azioni) importanti e specifici. Questi hook consentono a WordPress, ai plug-in e al nostro tema stesso di collegarsi e fare cose critiche. Diamo un&#8217;occhiata a quegli hook critici che dobbiamo aggiungere.<\/p>\n<h2>Hook dell&#8217;intestazione e del pi\u00e8 di pagina del tema<\/h2>\n<p>Tutti i temi WordPress devono avere due hook nei modelli. Un&#8217;azione deve essere inserita nell&#8217;intestazione (all&#8217;interno del <code>&lt;head&gt;<\/code>tag) e un&#8217;altra nel pi\u00e8 di pagina (subito prima della chiusura del <code>&lt;\/body&gt;<\/code>tag). Questi due hook sono assolutamente necessari affinch\u00e9 WordPress, il tuo tema e qualsiasi plug-in siano in grado di aggiungere i loro script e stili di codice al tuo tema.<\/p>\n<p>I ganci di cui abbiamo bisogno sono <code>wp_head<\/code>e <code>wp_footer<\/code>rispettivamente per l&#8217;intestazione e il pi\u00e8 di pagina.<\/p>\n<p>Normalmente quando vogliamo eseguire un hook, chiamiamo <code>do_action(&lt;hook name&gt;)<\/code>. Ma poich\u00e9 questi due hook sono cos\u00ec critici, WordPress li ha semplificati per noi inserendoli in una semplice chiamata di funzione. Quindi per questi due ganci puoi semplicemente usare <code>wp_head()<\/code>e <code>wp_footer()<\/code>. In background questi due eseguono il file <code>do_action()<\/code>.<\/p>\n<p>Aggiungiamo questi due hook (chiamate di funzione) ai nostri modelli di intestazione e pi\u00e8 di pagina e vediamo cosa succede.<\/p>\n<pre><code>&lt;!DOCTYPE html&gt;\n&lt;html&gt;\n    &lt;head&gt;\n        &lt;meta charset=\"utf-8\"&gt;\n        &lt;title&gt;A White Pixel Theme&lt;\/title&gt;\n\u00a0\n        &lt;?php wp_head(); ?&gt;\n    &lt;\/head&gt;\n&lt;body&gt;<\/code><\/pre>\n<pre><code>        &lt;?php wp_footer(); ?&gt;\n    &lt;\/body&gt;\n&lt;\/html&gt;<\/code><\/pre>\n<p>Premi Aggiorna sul tuo frontend. Se hai effettuato l&#8217;accesso, ora dovresti vedere apparire la barra di amministrazione di WordPress! Ci\u00f2 significa che WordPress \u00e8 ora in grado di aggiungere con successo i suoi script e stili al tuo tema.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-152824-61e4fb80a88c0.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-152824-61e4fb80a88c0.png\" alt=\"Tutorial sul tema WordPress per principianti \u2013 Parte 3: contenuto dinamico\" ><\/a><\/p>\n<p>Puoi controllare il tuo codice HTML e vedere che la tua intestazione ora contiene un bel po&#8217; di codice. Questo \u00e8 il codice che non hai aggiunto al tuo tema. Come puoi vedere, lo stesso WordPress utilizza gli hook che abbiamo aggiunto per fare le sue cose.<\/p>\n<p>Passiamo dagli hook e iniziamo a esaminare come possiamo recuperare dinamicamente i contenuti da WordPress e visualizzarli nella nostra intestazione.<\/p>\n<h2>Contenuto dinamico nell&#8217;intestazione<\/h2>\n<p>Diciamo a WordPress di impostare dinamicamente il titolo del documento (per il <code>&lt;title&gt;<\/code>tag). Per questo useremo una funzione, (che ha un filtro tra l&#8217;altro), chiamata <code>wp_title()<\/code>. Come abbiamo appreso sopra, poich\u00e9 <code>wp_title()<\/code>\u00e8 un filtro, tu, WordPress o plugin puoi modificare l&#8217;output. Aggiungeremo un filtro a questo pi\u00f9 avanti in questo tutorial.<\/p>\n<p>La funzione <code>wp_title()<\/code>accetta <a href=\"https:\/\/developer.wordpress.org\/reference\/functions\/wp_title\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">diversi argomenti<\/a> che puoi regolare a tuo piacimento, ma per ora aggiunger\u00f2 una stringa vuota in modo che visualizzi solo il titolo di qualunque pagina ci troviamo.<\/p>\n<p>Cambia il tuo <code>&lt;title&gt;<\/code>tag <code>header.php<\/code>in questo:<\/p>\n<pre><code>&lt;title&gt;&lt;?php wp_title(''); ?&gt;&lt;\/title&gt;<\/code><\/pre>\n<p>Gli appassionati di voi potrebbero aver notato che la prima pagina non generer\u00e0 un titolo. Questo \u00e8 il comportamento standard di WordPress che correggeremo pi\u00f9 avanti in questo tutorial (lo faremo con l&#8217;aiuto del filtro). Se visiti un singolo post o pagina, dovresti ottenere il titolo del post.<\/p>\n<p>WordPress ha una funzione ingegnosa che genera dinamicamente un mucchio di classi per il <code>&lt;body&gt;<\/code>tag a seconda della pagina in cui ci troviamo; chiamato <a href=\"https:\/\/developer.wordpress.org\/reference\/functions\/body_class\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">body_class<\/a>. Aggiorna il <code>&lt;body&gt;<\/code>tag <code>header.php<\/code>in questo:<\/p>\n<pre><code>&lt;body &lt;?php body_class(); ?&gt;&gt;<\/code><\/pre>\n<p>Aggiorna e dai un&#8217;occhiata a tutte le classi aggiunte al <code>&lt;body&gt;<\/code>tag. Dai un&#8217;occhiata a diverse pagine (prima pagina, singolo, categoria). Tutte queste classi sono molto utili per lo styling e per differenziare diverse parti simili. Molto probabilmente ne utilizzerai alcuni nel tuo CSS.<\/p>\n<p>Per seguire le buone pratiche HTML, dovremmo anche informare sulla lingua del sito nell&#8217;HTML. Per questo utilizziamo una funzione di WordPress per ottenere la lingua dalle Impostazioni; <a href=\"https:\/\/codex.wordpress.org\/Function_Reference\/language_attributes\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">attributi_lingua<\/a>.<\/p>\n<pre><code>&lt;html &lt;?php language_attributes(); ?&gt;&gt;<\/code><\/pre>\n<p>E infine vorrei aggiungere alcuni meta tag e simili che non sono specifici di WordPress, ma seguono pratiche di web design comuni. Ecco <code>header.php<\/code>come appare il file completo:<\/p>\n<pre><code>&lt;!DOCTYPE html&gt;\n&lt;html class=\"no-js\" &lt;?php language_attributes(); ?&gt;&gt;\n&lt;head&gt;\n    &lt;meta charset=\"utf-8\"&gt;\n    &lt;meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\"&gt;\n\u00a0\n    &lt;meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"&gt;\n    &lt;title&gt;&lt;?php wp_title(''); ?&gt;&lt;\/title&gt;\n\u00a0\n    &lt;?php wp_head(); ?&gt;\n&lt;\/head&gt;\n&lt;body &lt;?php body_class(); ?&gt;&gt;<\/code><\/pre>\n<p>Per il passaggio successivo di questo tutorial lasceremo <code>header.php<\/code>e ci addentreremo <code>index.php<\/code>per imparare come recuperare contenuti pi\u00f9 dinamici, come i post.<\/p>\n<h2>Documentazione sui metodi utilizzati<\/h2>\n<ul>\n<li><a href=\"https:\/\/codex.wordpress.org\/Function_Reference\/wp_head\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">wp_head<\/a><\/li>\n<li><a href=\"https:\/\/codex.wordpress.org\/Function_Reference\/wp_footer\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">wp_footer<\/a><\/li>\n<li><a href=\"https:\/\/developer.wordpress.org\/reference\/functions\/wp_title\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">wp_title<\/a><\/li>\n<li><a href=\"https:\/\/developer.wordpress.org\/reference\/functions\/body_class\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">body_class<\/a><\/li>\n<li><a href=\"https:\/\/codex.wordpress.org\/Function_Reference\/language_attributes\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">attributi_lingua<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fonte di registrazione:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/awhitepixel.com\" class=\"external external_icon\">awhitepixel.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In questa lezione imparerai gli hook in WordPress e come accedere e produrre contenuti dinamici da WordPress nell&#8217;intestazione.<\/p>\n","protected":false},"author":1,"featured_media":224746,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[918,896,896,720,835,918,1110,835,928,720,928,844,844,865,865],"tags":[1168],"class_list":["post-233627","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-altro","category-codice","category-sviluppatore","category-guida-per-principianti","category-n-a","category-soggetti","category-tutorial","category-wordpress-6","tag-affiai-it"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/posts\/233627","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=233627"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/posts\/233627\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/media\/224746"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/media?parent=233627"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/categories?post=233627"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/tags?post=233627"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}