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

fix: allow to use this theme an old php version #737

Merged
merged 3 commits into from
Jan 28, 2025

Conversation

VinsMach
Copy link
Collaborator

Descrizione

le modifiche fatte consentono di far funzionare il tema anche su versioni antecedenti alla 8.
Modificate alcune funzioni
Aggiunta una funziona prima che sia deprecata l'originale

inc/actions.php Outdated
@@ -224,7 +224,8 @@ function dsi_eventi_filters( $query ) {
*/
function dsi_schede_progetti_filters( WP_Query $query ) {

if ( ! is_admin() && $query->is_main_query() && (is_post_type_archive("scheda_progetto") || (get_queried_object()?->taxonomy ?? null) == "tipologia-progetto") ) {
if ( ! is_admin() && $query->is_main_query() && (is_post_type_archive("scheda_progetto") || (get_queried_object() && isset(get_queried_object()->taxonomy) && get_queried_object()->taxonomy == "tipologia-progetto")) ) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Segnalo che WP ha anche una funzione is_tax(), che è più compatta e "idiomatica" e svolge già tutti i controlli su get_queried_object().

Suggested change
if ( ! is_admin() && $query->is_main_query() && (is_post_type_archive("scheda_progetto") || (get_queried_object() && isset(get_queried_object()->taxonomy) && get_queried_object()->taxonomy == "tipologia-progetto")) ) {
if ( ! is_admin() && $query->is_main_query() && (is_post_type_archive("scheda_progetto") || is_tax("tipologia-progetto")) ) {

[v. #691]

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

qui si è modificata la linea precedente, in quanto la versione presente andava in conflitto con versioni di PHP precedenti all'8.0

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sì, infatti: è l'operatore nullsafe ?->, che non è supportato.
Ma di tutta la sequenza delle verifiche su get_queried_object->taxonomy credo che se ne potrebbe fare a meno, perché quello è proprio il mestiere di is_tax().

@@ -641,7 +641,7 @@ protected function add_term_archive_items() {
if ( false !== $taxonomy->rewrite ) {

// If 'with_front' is true, dd $wp_rewrite->front to the trail.
if ( $taxonomy->rewrite['with_front'] && $wp_rewrite->front )
if ( array_key_exists('with_front', $taxonomy->rewrite) && $taxonomy->rewrite['with_front'] && $wp_rewrite->front )
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Se deve essere controllata l'esistenza, perché non semplicemente ! empty()?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ci potrebbero essere dei casi in cui with_font non era valorizzata, ecco perche questo check in più

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sì; intendevo che ! empty($taxonomy->rewrite['with_front']) ha lo stesso effetto ed è più leggibile e conciso.

@zetareticoli zetareticoli self-requested a review December 17, 2024 14:24
Copy link
Member

@zetareticoli zetareticoli left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cosa intendi con versioni antecedenti alla 8, PHP?

@VinsMach
Copy link
Collaborator Author

7.3 e 7.4

inc/utils.php Outdated Show resolved Hide resolved
@@ -1112,7 +1112,7 @@ protected function get_post_types_by_slug( $slug ) {

foreach ( $post_types as $type ) {

if ( $slug === $type->has_archive || ( true === $type->has_archive && $slug === $type->rewrite['slug'] ) )
if ( $slug === $type->has_archive || ( true === $type->has_archive && is_array($type->rewrite) && isset($type->rewrite['slug']) && $slug === $type->rewrite['slug']))
Copy link
Contributor

@enrimk enrimk Dec 18, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Non è un'eventualità piuttosto remota?
Cioè, mi pare che rewrite['slug'] qui possa risultare non definito solo nel caso di un post_type con has_archive === true e rewrite === false contemporaneamente (con archivio, ma senza permalink). È così? È un caso che si verifica nell'app?

@astagi astagi merged commit 4104890 into italia:main Jan 28, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Aggiornamento Template 2.12 Si è verificato un errore critico sul tuo sito web.
4 participants