In questo tutorial, tratterò Il Loop e come WordPress lo utilizza per visualizzare i tuoi post e le tue pagine. Tieni presente che questo è leggermente più avanzato rispetto ai nostri tutorial precedenti. Spero che troverai questa guida definitiva più facile da capire rispetto a quanto disponibile nella documentazione di WordPress. Ecco cosa tratteremo:
- Una definizione di Il Loop.
- Flusso base de Il Loop.
- Tag del template utilizzati ne Il Loop
- Cosa fare dopo Il Loop
- Gerarchia dei file di template
Se vuoi capire meglio come funziona realmente un tema WordPress dietro le quinte, continua a leggere.
Nota: questo tutorial presuppone che tu stia utilizzando un tema WordPress standard, come il tema predefinito Kubrick. Niente roba avanzata con loop multipli... per ora.
Cos'è Il Loop?
Probabilmente ti starai ancora chiedendo cos'è Il Loop. Fondamentalmente, è ciò che visualizza il contenuto che vedi sulla tua homepage, i tuoi post singoli, le pagine, gli archivi, i risultati di ricerca e altro ancora.
Se un utente accede alla tua homepage, agli archivi o ai risultati di ricerca, per impostazione predefinita, Il Loop visualizzerà un certo numero di post come definito nelle tue Opzioni di lettura.
Al momento, la mia homepage visualizza 10 post per pagina, che è quello che ho definito Mostra al massimo * post. Sui post singoli e sulle pagine, lo stesso codice base del Loop visualizzerà solo quella pagina specifica.
Flusso base del loop
Suddividiamo Il Loop in 3 parti.
<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>
1. Cosa vuoi visualizzare nel Loop
<?php endwhile;?>
2. Cosa viene visualizzato quando Il Loop è terminato
<?php else : ?>
3. Se non c'è nulla da visualizzare
<?php endif; ?>
Se ci sono post disponibili nella query, inizierà a visualizzarli in un loop while, definito nella parte 1. Quando il while è terminato, visualizzerà ciò che è nella parte 2. Se non vengono trovati post, o si verifica un altro errore 404, viene visualizzata la parte 3.
Tag del template utilizzati all'interno del Loop
A meno che tu non voglia che 1. Cosa vuoi visualizzare nel Loop venga ripetuto 10 volte sulla homepage del tuo blog WordPress, dovresti probabilmente imparare alcuni dei tag del template di base. Diamo un'occhiata al codice di index.php nel template predefinito di WordPress.
Come puoi vedere, ci sono parecchi tag del template all'interno del Loop che produrranno cose come il titolo del post, il permalink, il contenuto, ecc. Analizzerò ciascuno dei tag del template nel tema predefinito di WordPress.
- <?php the_permalink() ?> – Questo stamperà il permalink del post, cioè http://www.themelab.com/?p=1
- <?php the_title(); ?> – Questo stampa il titolo del post, cioè Ciao Mondo!
- <?php the_time(‘F jS, Y’) ?> – Questo stamperà la data, ad es. 4 aprile 2008. Un elenco completo dei modi per formattare la data si trova su php.net
- <?php the_author() ?> – Questo visualizzerà il nome dell'autore, ad es. Leland. Questo è commentato nel tema predefinito.
- <?php the_tags(‘Tags: ‘, ‘, ‘, ‘<br />’); ?> – Questo visualizzerà i tag assegnati al post, separati da virgole e seguiti da un'interruzione di riga
- <?php the_category(‘, ‘) ?> – Questo visualizzerà le categorie in modo simile ai tag sopra.
- <?php edit_post_link(‘Edit’, ”, ‘ | ‘); ?> – Il link per modificare il post sarà visibile solo a coloro che hanno il permesso.
- <?php comments_popup_link(‘No Comments »’, ‘1 Comment »’, ‘% Comments »’); ?> – Visualizzerà il link ai commenti. Questo non verrà visualizzato su singoli post o pagine.
Ce ne sono molti altri elencati nella pagina Template Tags su WordPress.org. Alcuni di questi potrebbero funzionare nel Loop, mentre altri potrebbero non funzionare.
Dopo il Loop
Diamo un'occhiata al codice dopo che il loop smette di ciclare nel tema predefinito.
<div class="navigation">
<div class="alignleft"><?php next_posts_link('« Older Entries') ?></div>
<div class="alignright"><?php previous_posts_link('Newer Entries »') ?></div>
</div>
Come potresti aver intuito, questo visualizzerà la paginazione che vedi sulla homepage, negli archivi e nei risultati di ricerca. Questi non verranno visualizzati su singoli post e pagine. Naturalmente potresti sostituirlo con qualcosa come PageNavi, ma sta a te.
Se non ci sono post da visualizzare (possibilmente a causa di un errore 404), verrà visualizzato quanto segue dopo l'else
<h2 class="center">Non Trovato</h2>
<p class="center">Spiacenti, stai cercando qualcosa che non è qui.</p>
<?php include (TEMPLATEPATH . "/searchform.php"); ?>
Questo visualizzerà il messaggio Non Trovato insieme al modulo di ricerca. In questo caso, dovrebbe esserci un codice per il modulo di ricerca situato in un file chiamato searchform.php nella directory del template, cosa che c'è nel tema predefinito.
Gerarchia dei Template
Alcuni file di template avranno la priorità su index.php per determinati tipi di pagine se sono presenti nella directory del template. Di seguito sono riportati alcuni esempi di gerarchia dei template, elencati in ordine di priorità.
Homepage
- home.php
- index.php
Single Post
- single.php
- index.php
Risultati di Ricerca
- search.php
- index.php
Pagina 404
- 404.php
- index.php
Ci sono alcune tecniche più avanzate elencate nella pagina Template Hierarchy su WordPress.org.
Quindi qual è il punto della gerarchia dei template? Fondamentalmente puoi usarla per creare nuovi layout per diversi tipi di pagine WordPress senza dover modificare troppo il tuo file index.php.
Conclusione
Ora (speriamo) avete una migliore comprensione di cosa sia il Loop di WordPress. Sentitevi liberi di lasciare un commento se vi è piaciuto, se lo avete odiato, se non l'avete capito, qualunque cosa – accolgo tutti i feedback. Iscrivetevi al feed per tutti gli ultimi aggiornamenti sulle release dei temi di Theme Lab e i nuovi tutorial. Grazie per la lettura.
Voglio visualizzare il link al post precedente e successivo nella pagina del singolo post. Anche il testo dell'ancora per il link dovrebbe essere il nome del rispettivo post.
Per favore, ditemi come posso farlo?
Ho provato a incorporare in single.php ma non mostra il nome del post.
Fantastico, sto imparando a "hackerare" il loop, anche a livelli RSS-Atom e queste basi mi sono utili. Continuate così ragazzi.
Grazie, grazie, grazie.
Non posso ringraziarvi abbastanza. Tutti, incluso wordpress.org, dicono 'metti quel codice nel Loop' ma NESSUNO diceva cosa diavolo sia il Loop! Tranne TE. Grande aiuto.
[...] Link al tutorial [...]
Sono un project manager IT che, in un certo momento della sua vita, era un "smanettone" pratico. Suppongo che questo mi collochi da qualche parte nel mezzo dello spettro tra chi è competente in informatica ma non capisce la programmazione e un totale geek che pensa e parla in Cplusplus.
La cosa fantastica di WordPress è che è abbastanza semplice da usare che anche l'utente meno esperto può ottenere funzionalità sofisticate con facilità, mentre qualcuno con anche una piccola abilità tecnica può fare molte modifiche.
Anche se non sono un programmatore PHP o Java, ho una formazione nel linguaggio C#/VB.NET e capisco i loop e le strutture di programmazione. Questa piccola conoscenza, insieme a tutorial come il tuo, mi dà la capacità di "smanettare" con i migliori "geek" informatici. Il tuo tutorial è stato molto facile da capire (probabilmente perché ho un background IT). Penso che anche se non avessi avuto il background IT, la tua spiegazione avrebbe reso possibile (con un po' di sforzo) capire come usare il "loop" e un po' di più sulla meccanica interna dell'applicazione WordPress.
Grazie !!
Jerry Bucknoff, PMP
Il mio blog WordPress è blogs.pmbestpractices.com, un altro sito orgogliosamente alimentato da WordPress.
[...] La guida definitiva al Loop di WordPress [...]
[...] La guida definitiva al loop di wordpress [...]
[...] La guida definitiva al Loop di WordPress [...]
[...] La guida definitiva al Loop di WordPress [...]
Molto utile. Grazie!
[…] Leggi di più… […]
Grazie per il post, è stato davvero d'aiuto. Il mio unico suggerimento sarebbe di modificare i vostri tag del template in modo che abbiano tutti il punto e virgola di chiusura.
Stavo cercando di fare in modo di visualizzare solo una categoria nella pagina principale e ci sono riuscito dopo aver letto questo post con la sintassi esatta che devo modificare nel loop
http://www.nietoperzka.com/wptraining/custom-order-of-posts-on-main-page/
Ma poi ho avuto errori con le mie altre categorie e aree del sito, ma una volta letto il tuo post e spiegato meglio la gerarchia delle pagine ho creato un home.php separato per il loop della mia pagina di destinazione e ho lasciato tutto il resto come originale
grazie per questo post.
[…] se hai difficoltà a capire qualcosa di quello che abbiamo appena fatto, ti consiglio di visitare questo tutorial per una migliore comprensione del […]
Posso modificare il loop di wordpress usando una funzione di un plugin?
sai cosa, sei semplicemente fantastico, mi chiedo perché non ho trovato il tuo sito prima e perché non sono passato a wordpress prima.
Ho anche iniziato a promuovere il tuo sito web tramite passaparola positivo qui in India.
Recentemente, sono andato a una riunione di un club Toastmasters e ho parlato a persone di quanto sia meraviglioso il tuo sito.
Grazie per i tuoi meravigliosi consigli.
[…] La Guida Definitiva al Loop di WordPress | Theme Lab perché dopo tutto questo tempo, sono ANCORA confuso […]
Una cosa che ho trovato particolarmente utile è la gerarchia delle categorie:
1. category-6.php
2. category.php
3. archive.php
4. index.php
La prima pagina ti permette di avere una pagina per ogni categoria. WordPress userà 'category-6.php' come pagina predefinita per la categoria 6. Puoi trovare il numero della categoria nel backend andando su Gestisci > Categorie e poi cliccando su una categoria. Dopo aver cliccato sulla categoria, guarda nella barra degli indirizzi e verso la fine vedrai: &cat_ID=6. Quel 6 è il numero della categoria. 'category.php' sarà il template predefinito per tutte le categorie se non vengono trovati template di categoria individuali (come category-6.php). Basta inserire questi file PHP nella root della cartella del tuo tema.
Guida davvero utile, grazie per averla condivisa!
Grazie! Finalmente la spiegazione del Loop che cercavo ovunque sul web! Ora ho capito. Grazie, ancora 😀
[...] La guida definitiva al Loop di WordPress [...]
[…] potresti non volere che i tuoi risultati di ricerca siano limitati dai confini del Loop standard di WordPress. Questo è un rapido hack del codice per consentire a una ricerca di restituire risultati illimitati, alterando lo standard […]
[…] Un'ottima area di partenza è imparare come funziona il loop di WordPress. Questa è una funzione di base del blogging utilizzata per visualizzare il numero X più recente di post sulla homepage del tuo blog (per i blog tradizionali). Invece di entrare troppo nei dettagli qui, vorrei indirizzarti verso un nuovo post di Themelab che è progettato per essere la Guida Definitiva al loop di WordPress. […]
[…] La Guida Definitiva al Loop di WordPress | Theme Lab […]
[…] La Guida Definitiva al Loop di WordPress | Theme Lab […]