Capire “Il ciclo” in WordPress

Loop

Questo articolo fa parte di una serie creata in collaborazione con SiteGround. Grazie per aver supportato i partner che rendono possibile SitePoint.

Quando si discute di WordPress, e in particolare dello sviluppo di temi (o della creazione di nuovi modelli di pagina all’interno di un tema esistente) inevitabilmente si scontrerà con “The Loop”. Il Loop è il framework all’interno del quale WordPress costruisce il contenuto per una determinata pagina visitata dall’utente, sia che si tratti di una home page statica o di una vista sul blog che mostra post recenti o qualsiasi altra via di mezzo. Può sembrare un po ‘ complesso, ma in realtà, è solo un meccanismo di loop.

Il Ciclo, nella sua forma più semplice, è una struttura di loop proprio come qualsiasi altra nella programmazione. Itera attraverso ciò che equivale a un elenco di tutti i contenuti del tuo sito, in bicicletta attraverso i tuoi post o pagine, e il recupero del contenuto richiesto da loro. Nella sua forma più complicata, è possibile eseguire il ciclo più volte, recuperare solo determinati elementi da determinate categorie, solo elementi non in determinate categorie, quelli pubblicati all’interno di un intervallo di date o con altre particolari informazioni di identificazione.

Ogni modello di pagina all’interno di un tema WordPress conterrà probabilmente il Ciclo. È un modo in cui il modello può cercare e acquisire contenuti dalle tue pagine e post, che sono memorizzati nel database. Diamo un’occhiata ad alcuni dettagli:

Un esempio di base del ciclo

<?php if ( have_posts() ) { while ( have_posts() ) { the_post(); // Post Content here }}?>

Puoi vedere nell’esempio precedente che è davvero una configurazione piuttosto semplice. L’intera cosa inizia con un condizionale, con il controllo have_posts per assicurarsi che ci siano, in effetti, dei post da trovare. Quindi il ciclo accade-mentre ci sono ancora post (di nuovo usando have_posts), itera il post successivo e richiama the_post – che si riferisce a quello attualmente in iterazione.

Query particolari

Se le tue esigenze sono più avanzate della semplice restituzione di ogni post presente sul tuo sito web, dovrai limitare le tue query. Questo è dove WP_Query entra in gioco.

Filtro per categoria

Nell’esempio seguente, modificato da un esempio nel Codex, interrogheremo i post che si trovano nella categoria che ha l’id di 4. Quindi, puoi vedere un esempio del contenuto del ciclo stesso. Qui, controlliamo i post con un ID di categoria di 4, quindi, all’interno del div .post, visualizziamo il titolo del post (collegato al post), la data del post, il contenuto del post e i metadati del post.

<!-- Query for posts which are in category 4 --><?php $query = new WP_Query( array( 'cat' => 4 ) ); ?><!-- Begin The Loop --><?php if ( $query->have_posts() ) { while ( $query->have_posts() ) { $query->the_post(); ?> <div class="post"> <!-- Display the Title as a link to the Post's permalink. --> <h2><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></h2> <!-- Display the date (November 16th, 2009 format) and a link to other posts by this posts author. --> <small><?php the_time( 'F jS, Y' ); ?> by <?php the_author_posts_link(); ?></small> <!-- Display the post content --> <div class="entry"> <?php the_content(); ?> </div> <!-- Display the post metadata --> <p class="postmetadata"><?php _e( 'Posted in' ); ?> <?php the_category( ', ' ); ?></p> </div> }}

L’uso di WP_Query può portare ad alcuni risultati molto personalizzabili. È possibile includere i messaggi di una sola categoria, o più, o includere tutti tranne quelli di una categoria o di un altro. È possibile cercare e restituire i messaggi che contengono una parola chiave, o individuare i messaggi per ID, utilizzare il post_type per mostrare solo i dati dalle pagine, e altro ancora. Se vuoi saperne di più su WP_Query, dai un’occhiata alla documentazione di WP_Query.

Suggerimento: È possibile ottenere il numero ID di una categoria in diversi modi. Un modo semplice è andare su “Post”, quindi su “Categorie” nel tuo WP-Admin. Fare clic destro sul nome della categoria desiderata nell’elenco e salvare l’URL. Quindi incollalo in un editor di testo o blocco note da qualche parte e dai un’occhiata. Ad esempio, potrebbe essere simile a questo: http://example.com/wp-admin/term.php?taxonomy=category&tag_ID=4&post_type=post&wp_http_referer=%2Fwp-admin%2Fedit-tags.php%3Ftaxonomy%3Dcategory – stai cercando il numero tag_ID!

Filtraggio per valori di campo personalizzati

I campi personalizzati disponibili in WordPress possono essere incredibilmente utili e, a volte, è anche necessario filtrare i post in base ai valori impostati in quelli. Un compito semplice, ma vale la pena mostrare agli sviluppatori di WordPress principianti (o a coloro che non hanno approfondito i modelli personalizzati o il ciclo) per rendersi conto di quanto sia personalizzabile tutto questo. Dì che hai un campo personalizzato department e stai cercando post con il valore marketing:

$query = new WP_Query( array('meta_key' => 'department', 'meta_value' => 'marketing') );

Capire “Il ciclo”

Il modo migliore per capire il Ciclo è semplicemente usarlo. Usalo per recuperare i tuoi contenuti nei modelli creati per i temi o nel codice che personalizzi nei modelli esistenti nei temi esistenti. Quando vuoi fare qualcosa, filtra per determinati criteri, esegui di nuovo il Ciclo: controlla la documentazione del ciclo nel Codex o premi Google for ideas. Il cielo è il limite!

Se stai cercando un posto dove ospitare il tuo sito WordPress dopo aver creato i tuoi modelli e capito tutto il Ciclo, dai un’occhiata al nostro partner, SiteGround. Hanno a prezzi accessibili WordPress hosting disponibile, con un solo clic di installazione, ambienti di staging, e altro ancora!

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.