Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Aggiornamento Template 2.12 #691

Open
2 tasks done
Plinio2000 opened this issue Jun 26, 2024 · 3 comments
Open
2 tasks done

Aggiornamento Template 2.12 #691

Plinio2000 opened this issue Jun 26, 2024 · 3 comments
Labels
bug Something isn't working

Comments

@Plinio2000
Copy link

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

Errore

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

@Plinio2000 Plinio2000 added the bug Something isn't working label Jun 26, 2024
@enrimk
Copy link

enrimk commented Jun 26, 2024

È 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")) ) {

@zetareticoli
Copy link
Member

@enrimk se hai già avuto modo di testare il fix, puoi suggerirlo come PR così lo integriamo

@enrimk
Copy link

enrimk commented Jul 3, 2024

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 WP_Term.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants