Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

WordPress: la classe WP_Error e gli errori nelle tassonomie

Link copiato negli appunti

Se avete provato ad utilizzare una qualsiasi delle funzioni legate alle tassonomie di WordPress come get_term_link() per costruire ad esempio un menu breadcrumbs vi sarete probabilmente trovati di fronte ad un errore PHP restituito daa WordPress. Perché questo errore non viene gestito dalla classe WP_Error come negli altri casi senza bloccare il sito?

La classe WP_Error, a differenza delle tradizionali classi per la gestione degli errori del più coerente modello OOP di PHP, non ha un metodo __toString(). Questo metodo "magico" permette la conversione della classe sotto forma di stringa testuale.

Leggendo la documentazione relativa alla funzione get_term_link() scopriamo che:

PHP può interrompere la sua esecuzione se si cerca di visualizzare un risultato di errore
("Catchable fatal error: Object of class WP_Error could not be converted to string")

L'errore viene restituito quando una data tassonomia (categoria, tag, ecc) non esiste. La documentazione consiglia di:

usare is_string() per verificare il risultato della funzione qualora non si fosse sicuri che il termine esista.

Infatti se la tassonomia esiste get_term_link() restituisce una stringa con l'URL corrispondente, altrimenti un'istanza della classe WP_Error.

Riassumendo: è sempre bene verificare l'output restituito dalle funzioni delle tassonomie di WordPress soprattutto quando l'output ha tra i valori di ritorno un errore.

Ti consigliamo anche