Open Plinio2000 opened 2 months ago
È un'incompatibilità con php 7, introdotta nella 2.11, qui alla riga 227. L'operatore "nullsafe" di php è definito solo da php 8.0, con le vers. precedenti dà errore. Segnalata anche in #685 (nonché sui forum).
Probabilmente come quickfix togliere il "?" può già bastare. Forse genera qualche warning innocuo. Oppure, cambiare il controllo:
if ( ! is_admin() && $query->is_main_query() && (is_post_type_archive("scheda_progetto") || is_tax("tipologia-progetto") ) {
@enrimk se hai già avuto modo di testare il fix, puoi suggerirlo come PR così lo integriamo
se hai già avuto modo di testare il fix
Purtroppo per il momento il tema Scuole lo stiamo valutando ma non lo stiamo ancora usando concretamente, e non ce l'ho (per ora) su una istanza WP funzionante da testare, specialmente con diverse versioni di php. Per cui, non avendolo testato direttamente, non me la sentirei di aprire una PR, non posso essere 100% sicuro che non ci siano effetti collaterali altrove.
Ho proposto il fix guardando il codice, non l'app, il che non è ottimale... È anche vero però che gli errori riportati identificano bene il punto su cui intervenire, e che di per sé non sembra un fix rischioso.
Qui la ratio della correzione, se qualcuno vuole valutarla:
get_queried_object()?->taxonomy == "tipologia-progetto"
controlla se si sta in un archivio di tassonomia. Siamo nel filtro "pre_get_posts", che viene invocato su tutte le query, anche non negli archivi, e anche dove get_queried_object()
potrebbe non restituire niente di definito, ma null. Da qui, l'uso dell'op. nullsafe. Il ruolo di questo controllo può essere svolto meglio da is_tax("tipologia-progetto")
, che è sempre definito. Risolve anche l'eventualità che la proprietà "taxonomy" del risultato non sia a sua volta definita, se l'oggetto restituito non è un _WPTerm.
Prerequisiti
Descrivi il problema
Quando attivo il nuovo template 2.12 si blocca l'aggiornamento, mi blocca il sito e mi visualizza l'errore "si è verificato un errore critico sul sito". Ho controllato la mail dell'amministratore, come richiede l'avviso. La mail è corretta, ma non si risolve il problema. Grazie
Includi link o screenshot
Su quale sisitema operativo stai riscontrando il problema?
Windows
Su quale browser stai riscontrando il problema?
Chrome
Che versione del tema stai utilizzando?
2.10.0