Cosa signfica esattamente WordPress debug? Tutti utilizzano WordPress, vabbè non proprio tutti ma sicuramente con il 40% siti web che lo utilizzano nel mondo, WordPress è di gran lunga il CMS più utilizzato e questo significa una miriade di temi, plugin e app che circolano intorno a questo sistema.

Se vivessimo in un mondo perfetto, come quello che le demo di temi per WordPress ci mostrano, non avremmo problemi, sia nell'installazione, che nella configurazione o nell'uso di WordPress, ma nel mondo reale sicuramente chiunque abbia a che fare con questo sistema, prima o poi, si imbatterà con un problema che richiederà di "aprire la scatola" e guardarci dentro.

Tutto sommato WordPress stesso ci viene in aiuto fornendo una propria modalità di debug integrata e in più si possono anche trovare strumenti di terze parti utili per fare il WordPress debug.

Vediamo insieme come funziona la modalità di debug integrata di WordPress ed anche alcuni altri metodi per eseguire il debug di un sito WordPress.

Ma cosa fa esattamente il WordPress debug?

Come di certo saprete il core di WordPress è scritto principalmente in PHP, cosi come i plugin ed i temi quindi abilitare la modalità di debug di WordPress vi può aiutare a capire cosa sta succedendo, mostrandovi tutti gli errori e gli avvisi PHP.

Una volta abilitata la modalità di debug, compariranno in amministrazione e/o nel frontend del sito web dei messaggi ogni volta che riscontrerete un’anomalia (anche se questa non sta bloccando il sito oppure causando problemi immediati), vediamone alcuni esempi:

Wordpress error frontend

Questa è una informazione utile che può servire per intervenire e riparare il problema, se si è in grado di farlo, oppure segnalarlo al vostro sviluppatore/collaboratore o all'assistenza tecnica che vi può aiutare a risolvere il problema.

Come si attiva il WordPress debug?

Essenzialmente in due modalità:

Come utilizzare un plugin per il WordPress debug

Naturalmente, nel repository di plugin di WordPress, si trovano tantissimi plugin atti a questo scopo ed ognuno utilizza quello che gli sembra migliore. Molti hanno tante opzioni che soprattutto per chi è alle prime armi, non vengono utilizzate. Quello che serve è abilitare il debug di WordPress e il plugin WP Debugging assolve egregiamente a questo scopo.

Una volta installato e attivato il plugin, questo inizia subito a fare il suo lavoro. Di default, il plugin imposta le seguenti costanti su true (cioè abilita le seguenti funzionalità):

Vediamo dopo cosa fanno queste funzionalità di WordPress.

Per configurare il plugin, si può andare in Strumenti → WP Debug.

Quando avete terminato il lavoro ed individuato o risolto il problema, ricordatevi di disattivare il plugin per disattivare la modalità di debug, che non va tenuta attiva in siti operativi e più avanti vi spiegherò anche il motivo.

Attivare manualmente la modalità WordPress debug

Per avere tutto sotto controllo l'opzione migliore è quella di abilitare la modalità di debug di WordPress aggiungendo manualmente le costanti al file wp-config.php.

Non è difficile, ma richiede un attimo di attenzione perché un errore nella modifica di questo file potrebbe non far funzionare più il vostro sito web, per cui, ricordarsi sempre di fare una copia del file originale per non avere brutte sorprese ed evitare problemi.

Bisogna connettersi via FTP alla cartella principale del vostro sito web WordPress, dove nella stragrande maggioranza dei casi si trova il file wp-config.php (a meno che sia stato spostato per motivi di sicurezza) e dopo aver fatto la copia di sicurezza, basta aggiungere, se non è presente, la seguente riga di codice:

// Enable WP_DEBUG mode
define( 'WP_DEBUG', true );

prima della linea di codice con scritto:

/* That's all, stop editing! Happy publishing. */

se la riga è già presente va modificata la parola false con true, e una volta che avete terminato le operazioni fate esattamente il contrario, cioè modificate riportando a false oppure togliete l'intera riga.

La modalità di debug non va lasciata abilitata sempre, per due buoni motivi: può dare informazioni dal codice PHP ai visitatori del sito che non sempre sono animati da buone intenzioni..... e molte volte rallenta in modo anche evidente l'esecuzione del sito web.

Abilitare WP_DEBUG permetterà di mostrare tutti gli errori, le notifiche e gli avvisi di PHP. In questo modo spesso vengono mostrati messaggi di errore per situazioni che in effetti funzionano correttamente, ma che non seguono le convenzioni appropriate di PHP oppure che vengano mostrate le notifiche su funzioni e argomenti di WordPress deprecati ma utilizzati nel proprio sito. Questi avvisi sono facili da sistemare, addirittura spesso indicano la nuova funzione da usare al posto di quella deprecata ed in teoria basterebbe sostituirla, in pratica, invece quando si tratta di plugin o temi non autocostruiti potrebbe risultare complicata la correzione per vari motivi.

Altre istruzioni per il WordPress debug

Naturalmente non esiste soltanto WP_DEBUG, ma ci sono altre istruzioni che se abilitate nel file wp-config.php possono risultare utili.

WP_DEBUG_LOG è l'alter ego di WP_DEBUG che consente il salvataggio di tutti gli errori in un file di log chiamato debug.log dentro la cartella /wp-content/. per abilitarlo la riga da inserire nel file wp-config.php è la seguente:

define('WP_DEBUG_LOG', true);

Ma in effetti in questo caso, se salviamo gli errori in un file, forse non vogliamo mostrarli a video, magari in frontend cosa che darebbe fastidio ai visitatori. Allora possiamo usare un'altra riga di istruzioni sempre da inserire nella stessa maniera:

define('WP_DEBUG_DISPLAY', false);

Ci sono poi un altro paio di istruzioni interessanti, per chi è un po' più esperto da poter usare: SCRIPT_DEBUG che, se attivata a true, forza WordPress ad usare le versioni di sviluppo dei file CSS e Javascript di base piuttosto che le versioni minimizzate che normalmente vengono caricate in modo da poter meglio individuare problemi in script javascript o CSS e SAVEQUERIES che, sempre se attivata a true, salva le query fatte al database, insieme alle informazioni sul tempo impiegato nell'esecuzione, in un array che viene memorizzato nella variabile globale $wpdb->queries e che può essere stampato per analizzarle.

Vediamo un esempio di codice da poter inserire nel file wp-config.php per essere utilizzato come WordPress debug:

 // Abilitare la modalità WP_DEBUG
define('WP_DEBUG', true);

// Abilitare il salvataggio del log nel file /wp-content/debug.log
define('WP_DEBUG_LOG', true);

// Disabilitare la stampa di errori e avvisi
define('WP_DEBUG_DISPLAY', false);
@ini_set('display_errors',0);

// Utilizzare le versioni di sviluppo dei file JS e CSS di base
// (serve solo se si stanno modificando tali file)
define('SCRIPT_DEBUG', true);

Ricordarsi sempre di inserire questi codici prima della riga

/* That's all, stop editing! Happy publishing. */

e soprattutto copie su copie prima di modificare qualsiasi cosa.

Velocizzare i siti web è diventato un imperativo da quando Google da la preferenza nella serp ai siti con prestazioni migliori ed una particolare attenzione va rivolta alle immagini; infatti mentre prima non ci si badava e caricavamo immagini di ogni tipo e formato, ora bisogna fare attenzione caricare le immagini nel formato corretto e preferibilmente ottimizzare il più possibile il peso in kbyte delle immagini stesse.
Guardacaso, l'amico Google ci viene incontro. Infatti fin dal 2010 ha sviluppato un formato di immagine che supporta un particolare tipo di compressione sul quale non mi dilungo: è il formato .webp .
Ma, direi "stranamente" a questo punto, quando tentiamo di caricare una immagine in questo formato WordPress non ci consente di farlo.

(Aggiornamento: 14/08/21 - Nella nuova versione 5.8 di WordPress è stato introdotto il supporto per le immagini WebP direttamente nel core di WordPress. Quindi al momento in cui ho scritto questo articolo non era possibile caricare immagini .webp mentre adesso si può fare a patto che abbiate aggiornato WordPress alla versione 5.8 se avete delle versioni inferiori installate nel vostro sito allora potete utilizzare questo metodo.)

Ovviamente ci sono dei plugin che consentono di superare questo problema, ma, in genere abbiamo sempre i vari e soliti problemi di velocità dei siti web e in WordPress, ormai si sa, meno plugin installiamo e più probabilità abbiamo che il nostro sito web sia performante.
No problem, con un po' di conoscenze e qualche snippet di codice, possiamo far caricare a WordPress i files .webp senza installare plugin.
Vediamo come.

Conversione di formati di files immagine

In genere utilizziamo per i nostri siti web i formati .jpg oppure .png, ma se volessimo utilizzare il famigerato formato .webp (non sto qui, in questo articolo a cercare di capire se sia opportuno o meno) avremmo bisogno di una conversione di formato.
In questo caso potremmo utilizzare delle utilities in rete. Ovviamente basta fare una "googolata" per trovarne un po', ve ne indico un paio che a volte utilizzo anche io:
- onlineconvertfree.com
- ezgif.com
In generale, il file non perde qualità ed è grande quasi la metà, e questo ovviamente potrebbe essere un ottimo risultato.
Una volta terminata la conversione possiamo scaricare il file convertito WebP sul nostro computer e poi caricarlo direttamente sul nostro sito web WordPress.

Come caricare file formato webp in wordpress

Con sorpresa, però, quando si va a caricare un file .webp in wordpress compare un messaggio di errore: "Questo tipo di file non è consentito per motivi di sicurezza".
Upload files webp

In realta per risolvere questo problema, bastano poche righe di codice da inserire nel file functions.php :

Praticamente si va ad usare un hook di WordPress (mime_types) che consente di aggiungere un nuovo formato di file che WordPress potrà poi usare come media file.
Ma questo potrebbe non essere sufficiente, perchè poi WordPress non mostrerà a video l'immagine che abbiamo caricato e se poi volessimo vederla come thumbnail, perlomeno per capire cosa abbiamo caricato e magari che sia l'immagine giusta, dovremmo "istruire" WordPress a fare questo e nel caso ci necessita un altro snippet di codice, sempre da inserire nel file functions.php :

In alternativa ho sviluppato un "leggero" plugin allowebp basato sullo stesso codice, che volendo, si può installare semplicemente seguendo le sue istruzioni.

Se stai usando WordPress Gutenberg nel tuo sito web WordPress sicuramente ti troverai un noioso problema non ancora risolto o non interessante da risolvere per gli sviluppatori con un intervento radicale: ogni volta che apri l'editor per modificare una pagina o un post, oppure per crearne di nuovi, ti compare il popup di benvenuto.

Siamo d'accordo che le prime volte possa anche servire, ma poi diventa un noioso messaggio che devi ogni volta chiudere.

Per toglierlo in maniera definitiva c'è bisogno di uno snippet di codice da inserire nel file functions.php :

in pratica con questa funzione, se si è loggati nel pannello di amministrazione vengono caricati un paio di istruzioni javascript inline per disabilitare il popup di Gutenberg, usando la funzione di WordPress wp_add_inline_script() che consente di aggiungere codice javascript.

Alternativamente puoi installare questo plugin basato sullo stesso codice, in modo semplice, seguendo le istruzioni indicate.

Molte volte c'è bisogno di inserire del codice javascript oppure altro nella sezione WordPress Head. In questo WordPress Tutorial cerchiamo di capire come è possibile farlo, aiutandoci con l'esempio di Google Analytics, ma in pratica si può inserire qualsiasi tipo di codice che sia necessario ai nostri scopi.

Dopo aver realizzato un sito in WordPress e magari averlo subito pubblicato, una delle cose basilari e più importanti da fare è sicuramente quella di monitorare gli accessi e il comportamento degli utenti che visitano il blog o sito Web WordPress, perchè conoscere chi visita e come interagisce con i contenuti che hai creato ti aiuterà enormemente a migliorare il tuo sito web in generale e ad aumentare visite e vendite se hai un sito web ecommerce.

Google Analytics è, di sicuro, lo strumento più utilizzato e tra i più apprezzati a livello globale, ma non solo, Tag Manager, Facebook Pixel e altri strumenti di monitoraggio ti serviranno per capire e valutare ed anche cambiare, se stai sbagliando qualcosa, e vuoi ottenere più audience.

Tutti questi strumenti ti chiederanno di inserire codice nel tuo sito web e se non sai come fare dovrai usare un plugin che lo faccia per te, ma c'è però anche da dire che, per il posizionamento nella serp, Google ormai tiene conto anche della velocità di caricamento del sito ed è cosa nota che, più elevato è il numero dei plugin installati, maggiore sarà il rallentamento avvertito dall’utente nel caricamento delle pagine del nostro blog.

Ed allora vediamo come semplicemente, in poche mosse, si può inserire il codice nei punti indicati senza l'aiuto di plugin.
Questa operazione, se avete voglia di farla, porta via poco tempo ed aiuta ad imparare molte cose, tra le quali importanti sono:
- come funzionano in pratica gli hook di WordPress.
- come si può inserire del codice in WordPress in maniera corretta.

Intanto voglio dirti che qualsiasi template tu stia usando puoi effettuare queste operazioni, perchè utilizzeremo degli hook messi a disposizione da WordPress stesso, e che non interferiscono con l'utilizzo del template grafico, qualsiasi esso sia.

Molti sviluppatori o webmaster preferiscono inserire manualmente il codice di monitoraggio di Google, ma lo fanno in molti modi per la maggior parte non corretti, che all'atto pratico possono funzionare, ma poi potrebbero creare in futuro dei problemi che sul momento non sono stati valutati correttamente da chi fa questa operazione.

In realtà la procedura, fatta nella maniera corretta, è breve, semplice ed in futuro non creerà problemi.
Per non avere problemi, in assoluto, bisognerebbe operare con un child theme, per non toccare il codice del tema principale e questo per la verità bisognerebbe farlo sempre.

Le poche righe di codice che ci viene richiesto di inserire da Google o Facebook vanno inserite nel file functions.php che, se si tratta del tema principale, potrebbe essere sovrascritto in un futuro aggiornamento, con, purtroppo la perdita del lavoro fatto, ma se inserite nel file functions.php del tema child si possono conservare per sempre senza problemi se il child, come credo succeda nella maggior parte dei casi, non viene aggiornato.
Vediamo in pratica come si fa nella maniera corretta.

Wp_head: inserire codice in WordPress Head

In genere i codici di monitoraggio che ci viene richiesto di inserire, dovrebbero essere inseriti tra i tags HTML <head> e </head>. In WordPress questo si può fare in modo corretto e semplice utilizzando l'action hook wp_head che ci viene fornito direttamente dal CMS e da la possibilità di avere un "aggancio" alla WordPress Head, e questo ripeto, funziona su qualsiasi template wordpress.

Non mi dilungo sul codice fornito da Google o Facebook, le spiegazioni su esso e su dove inserirlo in genere le forniscono in modo esauriente gli stessi fornitori.
Quindi per "piazzare" del codice javascript che ci viene ad esempio fornito da Google Analytics nel punto giusto basta semplicemente usare questo hook, scrivendo il codice nel file functions.php cosi:

Il codice è diviso in due parti: l'hook vero e proprio, e la function dove si inserisce il codice.
Questi due punti sono interessanti perchè in pratica ti consentono di inserire qualsiasi tipo di codice accettato in HTML Head, sia esso javascript o ad esempio CSS e quindi in pratica si potrebbero inserire molte cose.

Ad esempio se volessimo inserire dello styling CSS:

Ma tornando alle richieste di inserimento di codice di monitoraggio in genere si tratta di javascript per cui il codice che ci forniranno va inserito tra i tags HTML <script> e </script> e per inserirlo proprio alla fine prima della chiusura del tag HTML </head> è sufficiente aggiungere un parametro all'hook vero e proprio, ad esempio: add_action('wp_head', 'hook_javascript', 99); che semplicemente mette in coda e inietta dopo tutti gli altri, proprio per ultimo il codice che noi vogliamo inserire.
Capito questo, si può intuire che in questa maniera possiamo inserire in pratica qualsiasi snippet di codice javascript nell'HTML head, Google, Facebook o altro, quello che ci serve.

Facciamo un esempio pratico con il codice completo:

Wp_body_open: Inserire codice nel body HTML

Non finisce qui, nel caso per esempio di Google Tag Manager, ma può succedere anche per altri monitoraggi, viene richiesto l'inserimento di codice subito dopo il tag HTML <body> e allora ci viene in aiuto un altro action hook di WordPress wp_body_open e cosi come abbiamo usato il precedente possiamo usare questo semplicemente cambiando il nome dell'hook (ed ovviamente la funzione), vediamo come con un codice completo di esempio:

La cosa interessante è che questi due hooks si possono usare su qualsiasi template WordPress senza inserire plugins e senza interferire minimamente sul caricamento di WordPress stesso con evidenti benefici in termini di velocità e praticità.

La "cosa" che molti utilizzatori WordPress non comprendono, sia che essi siano semplici utilizzatori, oppure sviluppatori PHP con più esperienza è un concetto molto importante sul quale WordPress basa tutte le sue funzionalità: il LOOP di WordPress.
Non è un semplice loop di programmazione, il ciclo for...next per intenderci ma è il codice utilizzato per visualizzare i contenuti principali e gli estratti di contenuti sui siti WordPress.
Il Loop rappresenta una delle parti più importanti del sistema WordPress e ci permette di personalizzare la visualizzazione dei nostri articoli e pagine all’interno dei nostri temi, nonchè viene usato anche per visualizzare post personalizzati e campi personalizzati.

Come funziona il WordPress Loop

Il WordPress Loop è un ciclo di interrogazione del database ed è in grado di presentare e/o modificare le informazioni ed i dati contenuti in esso.
Il WordPress Loop inizia con il codice che controlla se la pagina corrente debba visualizzare un elenco di più post o un singolo post o pagina. Se la pagina dovesse elencare i post del blog, elencherà un titolo e un estratto (excerpt) per ogni post, è può tranquillamente essere personalizzato per visualizzare immagini in primo piano o altri contenuti. Se la pagina invece fosse una singola pagina o un singolo post, il loop visualizzerà solo il contenuto di quella pagina.

Se non esistono post disponibili o qualcuno accede a una pagina che non esiste, il loop ha un'opzione per visualizzare un messaggio personalizzato che informa il visitatore che non ci sono post o la pagina non esiste (simile a quello che fa una pagina 404 tranne che personalizzata per specifici tipi di contenuto).

Grazie ai templates, il WordPress Loop può essere personalizzato praticamente per ogni pagina o tipo di contenuto del tuo sito.
Esistono anche modi in cui è possibile utilizzare più loop su una stessa pagina per visualizzare diversi tipi di contenuto oppure formattare il contenuto in modi diversi. Ad esempio, è possibile avere l'ultimo post del blog con un'immagine in primo piano visualizzata più grande nella parte superiore del sito e di seguito avere i post più vecchi elencati di seguito con solo un titolo e un estratto.

WordPress Loop in pratica

Vediamo un semplice esempio di WordPress Loop per visualizzare un elenco di post del blog:

<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>

	<h2><?php the_title() ;?></h2>
	<?php the_post_thumbnail(); ?>
	<?php the_excerpt(); ?>

<?php endwhile; else: ?>

	<p>Spiacenti, non abbiamo trovato posts da elencare.</p>

<?php endif; ?>

Andiamo ad analizzare riga per riga per capire al meglio il suo funzionamento:

Se si usa il WordPress Loop per visualizzare una pagina o un singolo post invece di elencarne più di uno, è interessante notare che non cambia di molto:

<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>

	<h1><?php the_title() ;?></h1>	
	<?php the_content(); ?>

<?php endwhile; else: ?>

	<p>Spiacenti, la pagina non esiste.</p>

<?php endif; ?>

Notiamo che l'unica cosa che è veramente cambiata è l'introduzione della funzione the_content() che serve per visualizzare l'intero contenuto della pagina o singolo articolo.
In pratica la differenza la fa l'istruzione while (have_posts ()): the_post () che a seconda del template in cui viene utilizzato il WordPress Loop e della pagina a cui si accede, determinerà quante volte ripetere il codice.

Cosa può visualizzare il WordPress Loop

Ci sono una serie di elementi che il WordPress Loop può visualizzare, come ad esempio il titolo, un estratto o il contenuto principale. Vediamo un elenco di queste funzioni comuni insieme a una breve descrizione e un collegamento a ulteriori informazioni su ciascuna funzione.

Il loop può anche utilizzare delle istruzioni condizionali per visualizzare contenuto diverso in base a una serie di fattori.

Puoi trovare un elenco completo di tutti i tag condizionali di WordPress sul codex WordPress

Esempio di WordPress Loop avanzato

Ecco un esempio di un WordPress Loop un po' più complesso utilizzando delle funzioni ed istruzioni condizionali sopra descritte:

<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>

<article id="post-<?php the_ID(); ?>" <?php if(is_category('featured')): ?>class="featured-post"<?php endif; ?>>
	<h1><?php the_title() ;?></h1>		

	<p>
		Pubblicato il <?php the_time('M j, Y'); ?> 
	        da <?php the_category(', '); ?>
		in <?php the_category(', '); ?>
	</p>

	<?php the_content(); ?>

	<?php comment_form(); ?>

	<div class="prev-next-links">
		<ul>
			<li><?php next_post_link(); ?></li>
			<li><?php previous_post_link(); ?></li>
		</ul>

	</div>

</article>

<?php endwhile; else: ?>

	<p>Spiacenti, questo articolo non esiste.</p>

<?php endif; ?>

WordPress Loop multipli

In alcune situazioni potrebbe essere necessario utilizzare più WordPress Loop su una pagina. Per farlo è probabile che dovrai usare la funzione rewind_posts () prima e magari usarla una seconda, terza o quarta volta (puoi fare tutti i WordPress Loop che vuoi su una pagina, ma attenzione ogni WordPress Loop richiederà un'altra richiesta al database, quindi questo sicuramente rallenterà il tempo di caricamento delle tue pagine.

Ecco come appare la funzione rewind_posts() in azione per elencare i posst del blog:

<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>

	<h1><?php the_title() ;?></h1>		

	<?php the_excerpt(); ?>

<?php endwhile; else: ?>

	<p>Spiacenti, non ci sono posts da visualizzare.</p>

<?php endif; ?>

<?php rewind_posts(); ?>

<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>

	<h1><?php the_title() ;?></h1>		

	<?php the_excerpt(); ?>

<?php endwhile; else: ?>

	<p>Spiacenti, non ci sono posts da visualizzare.</p>

<?php endif; ?>

Però, con questo codice specifico, il problema è che ogni WordPress Loop produrrà esattamente la stessa cosa. Per fare in modo che i due loop mostrino cose diverse, dovremo dare ai WordPress Loop alcuni parametri in modo da indicare a ciascun loop esattamente ciò che vogliamo visualizzare.

Possiamo impostare i parametri per i cicli usando la funzione query_posts() che può fornire un gran numero di parametri tra cui scegliere per controllare quali post dovranno essere visualizzati da WordPress. Vedremo alcuni di questi in dettaglio nella prossima sezione, quindi diamo un'occhiata al codice necessario per visualizzare l'ultimo post in un formato e dopo elencare i prossimi tre post di seguito sotto.

<?php query_posts('showposts=1&post_type=post'); ?>

<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>

	<h1><?php the_title() ;?></h1>		
	<?php the_post_thumbnail(); ?>
	<?php the_excerpt(); ?>

<?php endwhile; else: ?>

	<p>Spiacenti, non ci sono posts da visualizzare.</p>

<?php endif; ?>

<hr>

<?php rewind_posts(); ?>

<?php query_posts('showposts=3&offset=1&post_type=post'); ?>

<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>

	<h2><?php the_title() ;?></h2>		

	<?php the_excerpt(); ?>

<?php endwhile; else: ?>

	<p>Spiacenti, non ci sono posts da visualizzare</p>

<?php endif; ?>

La funzione WP_Query

La funzione query_posts() usata nell'ultima sezione per impostare i parametri per impostare i parametri è parte di una classe (per chi conosce la programmazione ad oggetti) molto potente di WordPress chiamata WP_Query. Questa classe può essere utilizzata per creare loop WordPress molto specifici basati su un numero elevato di opzioni.

La funzione WP_Query viene inserita prima del ciclo. Un aspetto interessante di questa funzione è che tutto ciò che devi fare è posizionarlo prima del ciclo e non devi cambiare nulla sul ciclo stesso.

Ecco alcune delle opzioni WP_Query più comuni:

Di solito tutti i parametri vengono passati alla funzione WP_Query come un array.

Di seguito è riportato un esempio di utilizzo della funzione WP_Query per visualizzare il contenuto di una pagina specifica.

<?php 

	$args = array( 
		'pagename' => 'about-us'
	);
	$the_query = new WP_Query( $args );

?>

<?php if ( $the_query->have_posts() ) : while ( $the_query->have_posts() ) : $the_query->the_post(); ?>

	<h1><?php the_title() ;?></h1>			
	<?php the_excerpt(); ?>

<?php endwhile; else: ?>

	<p>Spiacenti, non ci sono posts da visualizzare.</p>

<?php endif; ?>

In un esempio più complesso, possiamo vedere come visualizzare tutti i post pubblicati da un autore specifico in un tipo di post personalizzato chiamato "workshop". Viene filtrato anche il ciclo in modo che ordini i post in base al titolo e visualizzi solo i "workshop" pubblicati nell'anno 2019.

<?php 

	$args = array( 
		'author_name' => 'zgordon',
		'orderby' => 'title',
		'post_type' => 'workshops'
		'year' => 2019
	);
	$the_query = new WP_Query( $args );

?>

<?php if ( $the_query->have_posts() ) : while ( $the_query->have_posts() ) : $the_query->the_post(); ?>

	<h1><?php the_title() ;?></h1>			
	<?php the_excerpt(); ?>

<?php endwhile; else: ?>

	<p>Spiacenti, non ci sono posts da visualizzare.</p>

<?php endif; ?>

Per approfondire le informazioni su come lavorare con WP_Query è sicuramente opportuno dare uno sguardo nel codex di WordPress.

Conclusione

Non è possibile creare un sito WordPress dinamico senza utilizzare il loop di WordPress, per altro il loop è una funzionalità di WordPress molto potente e, una volta capito, può anche essere notevolmente personalizzato utilizzando una gamma di tag, istruzioni condizionali e la funzione WP_Query.

Copyright © 2023 - P. Iva 02677660546


Another project made with

by Marco Brughi
Città di Castello - Perugia - Arezzo - Firenze
Privacy Policy Cookie Policy
heart