Sono un grande fan della classe WP_Query: la uso su diversi siti Web dei clienti per recuperare e visualizzare i dati in modo personalizzato.

Se si desidera utilizzare più cicli su una pagina, il modo migliore per farlo è eseguire "WP_Query" ogni volta che è necessario eseguire il ciclo.

Ma c'è un inconveniente: ogni volta che WordPress esegue un ciclo, invia query al database, che richiede più tempo e può rallentare il tuo sito web.

In questo tutorial, ti mostrerò come utilizzare una query per più di un ciclo. Puoi farlo con la query principale oppure puoi usare la stessa tecnica con WP_Query.

Esploreremo gli aspetti di 3:

 

  • Crea un tema figlio e un file modello.
  • Crea un modello per il contenuto del loop.
  • Crea i nostri loop.

 

Ma prima scopriamo insieme Come installare un blog Wordpress passi 7 et Come trovare, installare e attivare un tema WordPress sul tuo blog 

Quindi torniamo al perché siamo qui.

Quello di cui hai bisogno

Per seguire questo tutorial, avrete bisogno di:

 

  • Da un'installazione di WordPress per lo sviluppo (a livello locale).
  • Un editor di codice.
  • Articoli nel tuo sito Web con più categorie assegnate
  • il ventisei tema di WordPress
  • Un tema figlio di ventisei sedici installato e attivato

 

Questa tecnica si adatta anche alla tua situazione, e alla tua tema WordPress.

Creare un tema figlio

Per prima cosa creeremo il tema child di ventisei sedici. Lo sto facendo perché non voglio cambiare il tema principale.

Scopri Come installare un tema WordPress bambino

Nella cartella "contenuto / temi / wp", crea una nuova cartella vuota, che chiamerai "tema tutor". Successivamente puoi scegliere il nome che fa per te.

In questa cartella, crea un file chiamato style.css e aggiungi il seguente codice:

/*

Nome del tema: tema di Tuto

URI del tema: https://blogpascher.com

Descrizione: tema a supporto dell'esercitazione sull'esecuzione di più loop durante l'interrogazione del database una sola volta. Tema figlio per il tema Twenty Sixteen.

Autore: Hervé

URI dell'autore: https://blogpascher.com

Modello: ventisette

Versione: 1.0

*/

 

@import url ("../twentysixteen/style.css");

Ora salva questo file e attiva il tuo nuovo tema WordPress.

Il passaggio successivo consiste nel creare un file modello per le categorie, su cui lavoreremo.

Fai una copia del file "archive.php" dal file tema WordPress "Venti e sedici." Non spostarlo, ma fanne una copia. Rinominarlo "categoria.php".

Per andare oltre, scopri Come gestire i file e le cartelle di WordPress

Questo sarà ora il file modello per le categorie del tuo sito Web.

Creazione di un nuovo file modello

Il primo passo è creare un nuovo file modello nel nostro tema che conterrà una versione modificata del ciclo "ventisei".

Consultiamo anche insieme Come mettere il tuo sito Web WordPress in modalità Manutenzione

Nella cartella del tema figlio, crea una sottocartella denominata "include". E all'interno, crea un nuovo file chiamato "loop-category.php".

Quindi, apri il file "template-parts / content.php" dalle cartelle dei temi principali (ventisei sedici) e trova il seguente codice:

" >

 

 

 

 

 

 ", esc_url (get_permalink ()))," '); ?>

 

 

 

 

 

 

 

 

 / * traduttori:% s: nome del post corrente * /

 the_content (sprintf (

 __ ('Continua a leggere '% s ' ', 'twentysixteen'),

 get_the_title ()

 ));

 

 wp_link_pages (array (

 'before' => ' '. __ ("Pages:", "twentysixteen"). ' ',

 'after' => ' ',

 'link_before' => ' ',

 'link_after' => '',

 'pagelink' => ' '. __ ("Pagina", "ventisei sedici"). ' %',

 'separator' => ' , ',

 ));

 ?>

 

 

 

 

 

 edit_post_link (

 sprintf (

 / * traduttori:% s: nome del post corrente * /

 __ ('Modifica '% s ' ', 'twentysixteen'),

 get_the_title ()

 ),

 ' ',

 ''

 );

 ?>

 

Copia questo codice nel nuovo file "loop-category.php" del tema figlio.

Modifica del file di parti del modello

Il ciclo "ventisei" mostra più di quello che mi serve, quindi modificherò questo codice. Voglio solo mostrare lo snippet e non il contenuto, quindi rimuoveremo il contenuto.

Qual è la differenza tra H1 e il titolo SEO di un articolo WordPress? Scoprilo consultando questo articolo.

Nel tuo nuovo file loop-category.php, trova questo codice ed eliminalo:

<div class = "entry-content">

 

 / * traduttori:% s: nome del post corrente * /

 the_content (sprintf (

 __ ('Continua a leggere '% s ' ', 'twentysixteen'),

 get_the_title ()

 ));

 

 wp_link_pages (array (

 'before' => ' '. __ ("Pages:", "twentysixteen"). ' ',

 'after' => ' ',

 'link_before' => ' ',

 'link_after' => '',

 'pagelink' => ' '. __ ("Pagina", "ventisei sedici"). ' %',

 'separator' => ' , ',

 ));

 ?>

L'altro passaggio consiste nel sostituire la funzione "venti_sixteen_excerpt ()" con la funzione "the_excerpt ()", poiché la versione di Twenty sixteen non fornisce un collegamento all'articolo completo.

Vedi anche Come visualizzare recenti articoli in una categoria specifica

Trova questa linea:

Sostituiscilo con questo:

Dobbiamo anche apportare alcune modifiche ai tag del titolo.

Nella parte del modello, cambia la linea:

", esc_url (get_permalink ()))," '); ?>

Modifica i tag H2 per H3:

", esc_url (get_permalink ()))," '); ?>

Registra il tuo modello. Quindi torna al tuo file di categoria.php continueremo con esso.

Creazione di loop

Prima di tutto rimuoveremo l'inclusione del codice per "ventisei" dal nostro file "category.php", poiché avremo bisogno di utilizzare il nuovo file.

Nel tuo file category.php trova questo codice:

get_template_part ('template-parts / content', get_post_format ());

Ed elimina il.

Quindi creeremo i loop.

In questo esempio, visualizzerò tutti i post con il tag "content", utilizzando il tag condizionale "has_tag ()". Ciò significa che dovrò passare attraverso tre cicli:

 

  • Il primo controlla se la query ha pubblicato elementi con questo tag.
  • In tal caso, il secondo visualizza gli articoli con questa etichetta.
  • Un terzo visualizza articoli senza questo tag.

 

Tra ogni ciclo, userò rewind_posts () per riavvolgere i messaggi senza reimpostare la query: lavoriamo sempre con la query principale ogni volta.

Il primo ciclo: verifica degli articoli

Nel tuo file "category.php", trova l'inizio del ciclo:

while (have_posts ()): the_post ();

Sopra questa linea, definisci una nuova variabile chiamata $ count:

$ Count = 0;

Quindi all'interno di quel ciclo aggiungi questo codice:

// controlla se ci sono post con il tag »

$ tag = "contenuto";

if (has_tag ($ tag)) {

 $ count + = 1;

}

Questo codice controlla se i messaggi hanno l'etichetta "contenuto", quindi aggiunge 1 al contatore in tal caso.

L'interno del loop sarà simile a questo:

// Controlla i post nel primo ciclo.

$ Count = 0;

while (have_posts ()): the_post ();

 

// controlla se ci sono post con il tag »

$ tag = "contenuto";

if (has_tag ($ tag)) {

 $ count + = 1;

}

 

ENDWHILE;

Il secondo ciclo: ripristina gli articoli con il tag

Il passaggio successivo consiste nel visualizzare in ciclo gli articoli con questo tag, solo se ce ne sono.

Ad esempio, se il valore di $ count è maggiore di 0.

Scopri anche Come personalizzare la dashboard di WordPress per un cliente

Aggiungi questa condizione al loop:

if ($ count> 0) {

 

 rewind_posts ();

 

 eco ' Post taggati con ". $ tag. ' ';

 

 

 while (have_posts ()): the_post ();

 

 if (has_tag ($ tag)) { 

 get_template_part ('includes / loop', 'category'); 

 }

 

 // Termina il ciclo.

 ENDWHILE;

 

}

Questo codice verifica che $ count sia maggiore di zero e, in tal caso, riavvolge gli elementi ed esegue nuovamente il ciclo. Per ogni articolo controlla se possiede la nostra etichetta e, in tal caso, chiama la parte del modello che abbiamo appena creato.

Il terzo ciclo: visualizza il resto degli articoli

L'output sarà un ciclo finale sugli articoli rimanenti. Se questa categoria non ha un articolo con il tag "contenuto", verranno visualizzati tutti gli articoli nella categoria.

Impara pure Come creare un blog multi-autore e consentire ai lettori di pubblicare articoli sul tuo blog

Nel tuo secondo ciclo, aggiungi questo:

rewind_posts ();

 

 

// Second Loop - post non con il tag "content"

while (have_posts ()): the_post ();

 

 if (! has_tag ($ tag)) { 

 get_template_part ('includes / loop', 'category'); 

 }

 

// Termina il ciclo.

endwhile; ?>

Quest'ultimo codice riavvolge gli articoli, quindi esegue nuovamente il ciclo. Questa volta, controlla se un articolo non ha il tag "content", quindi visualizza il contenuto nella "template-part".

Ti consigliamo anche di scoprire Come aggiungere un'opzione di stampa articoli su WordPress

Ora puoi testare la pagina degli articoli del tuo blog. Ricorda che puoi cambiare i filtri. In questo tutorial abbiamo usato il "contenuto" come filtro etichetta, ma puoi usare quello che preferisci.

Scopri anche alcuni plugin WordPress premium  

Puoi usare altro plugin di WordPress per dare un aspetto moderno e per ottimizzare la gestione del tuo blog o sito web.

Ti offriamo qui alcuni plugin WordPress premium che ti aiuteranno a farlo.

1. Addon Social Wall per UserPro

UserPro può essere molto più divertente con un social wall. Questo è ciò che porta la sua estensione Social Wall. Con il plug-in Social Wall, puoi creare un wall sul tuo sito Web e fornire ai tuoi membri un modo innovativo per interagire con la comunità.

Le WordPress Plugin Social Wall consente ai tuoi utenti di: condividere messaggi tra loro, condividere immagini, commentare i post di altre persone, gli utenti possono mettere mi piace o non mi piace a un messaggio, possono scegliere di visualizzare la bacheca solo per gli utenti che hanno effettuato l'accesso o per tutti gli utenti, gli amministratori possono eliminare post o commenti degli utenti, ecc.

Download | Demo | Web hosting

2. Flipkart Affiliate Plus

Flipkart Affiliate Plus è un WordPress Plugin modulo che collega il tuo sito Web WordPress all'API di affiliazione Flipkart. 

Ce WordPress Plugin Semplifica molto l'importazione dei dati di prodotto da Flipkart e l'aggiornamento direttamente sul tuo sito web. Flipkart Affiliate Plus è il primo plugin WordPress per l'API Flipkart ufficiale. Utilizzandolo, non sarà necessario utilizzare un'API di terze parti. Beneficerai così pienamente del tuo lavoro.

Download | Demo | Web hosting

3. Google Analytics utilizzabile per WooCommerce

Actionable Google Analytics è un plug-in di WordPress che ti consente di utilizzare alcune delle migliori funzionalità di Universal Analytics, tra cui: E-commerce avanzato e monitoraggio dell'ID utente. Inoltre, questo plugin supporta l'anonimizzazione degli indirizzi IP, i rimborsi dei prodotti, il raggruppamento dei contenuti, il monitoraggio dei moduli, ecc.

Utilizzando questo plug-in WordPress, risparmierai tempo nell'integrazione del codice di Google Analytics complesso, così potrai concentrarti sulla gestione dei tuoi dati.

Le sue caratteristiche principali sono: installazione facile e veloce, accesso a 9 report di e-commerce avanzati, la possibilità di studiare come i diversi dispositivi vengono utilizzati dallo stesso utente e come vengono effettuati gli acquisti, la capacità di analizzare quali prodotti vengono rimborsati più spesso, infine di intraprendere azioni correttive e altro ancora.

Download | Demo | Web hosting

Altre risorse consigliate

Ti invitiamo inoltre a consultare le risorse seguenti per approfondire la presa e il controllo del tuo sito Web e blog.

 

 

Conclusione

Ecco ! Questo è tutto per questo tutorial abbastanza tecnico. Spero di essere stati espliciti su come utilizzare correttamente WP_Query su WordPress. sentiti libero di condividi il suggerimento con i tuoi amici sui tuoi social network.

Tuttavia, sarai anche in grado di consultare il nostro risorse, se hai bisogno di più elementi per realizzare i tuoi progetti di creazione di siti Internet, consultando la nostra guida su Creazione di blog WordPress.

Ma intanto parlaci del tuo commentaires e suggerimenti nella sezione dedicata.

...