Salta al contenuto

WordPress 5.2, una panoramica su alcune delle nuove funzionalità

Questo articolo ha oltre sei mesi di vita, quindi, mi raccomando, verifica le informazioni contenute in quanto potrebbero essere ormai obsolete.

WordPress 5.2, nome in codice “Jaco”, da stanotte è disponibile sia per l’installazione che per l’aggiornamento.

Oltre alla versione in inglese è disponibile, anche, la versione in italiano.

Se non vi è già apparsa in bacheca, nel giro di qualche ora, la troverete.

Le funzionalità nuove sono molte e le potete trovare tutte in bacheca, nella pagina about.php. ( tuosito.tld/wp-admin/about.php).

Le tre nuove funzionalità, secondo me, più importanti sono:

  1. Salute del sito (site health)
  2. Protezione dagli errori fatali (modalità recupero o ripristino)
  3. wp_body_open()

Oggi parlerò solo dei punti 2 e 3, perché il punto 1 ha bisogno di un articolo ad hoc, ma è una delle migliori aggiunte mai fatte al core di WordPress.

Modalità recupero o ripristino

La chiamo modalità recupero o ripristino, in inglese recovery mode, perché stiamo discutendo su quale sia la migliore traduzione. Queste discussioni avvengono nel canale #polyglots dello slack italiano. Siete tutti invitati a partecipare.

A molti è capitato di apportare qualche modifica a un tema o di aver installato un nuovo plugin e di essersi trovati con il sito “rotto” e con un bel “fatal error”.

Ecco, ora, quando vi succederà, NON sarete più tagliati fuori dal vostro sito.

I visitatori di un sito in “fatal error”, visualizzeranno un messaggio che li informa che il sito sta sperimentando dei problemi tecnici, molto più bello di un messaggio di errore sparato fuori.

L’amministratore del sito, invece, riceverà una mail che lo informa del problema e di quale sia il problema. All’interno della mail c’è anche un link per accedere in modalità recupero o ripristino. Questo link ha una scadenza, per evitare che qualcuno possa entrare nel vostro sito. Se il problema persiste potrete ottenere un nuovo link.

In modalità recupero o ripristino, potrete accedere alla bacheca del vostro sito, cosa che prima non vi era possibile e potrete disabilitare il plugin che vi crea i problemi o correggere gli errori nel codice.

Finito, disabilitate la modalità recupero o ripristino e il vostro sito sarà di nuovo bello come il sole.

Questo che segue è solo per gli sviluppatori. Gli sviluppatori avranno già capito che questo è un bel kick in the ass, ricevere una mail ad ogni errore, correggere, disattivare la modalità recupero ripristino, ma siete diventati pazzi?!

Tranquilli, si può disabilitare, cosa che suggerisco di fare in ambiente di sviluppo.

Inserite nel wp-config, o dove preferite, la definizione di questa costante, e il gioco è fatto.

define( 'WP_DISABLE_FATAL_ERROR_HANDLER', true);

Vi lascio un paio di link, in inglese, dove è spiegato tutto bene e dove ci sono alcuni esempi di utilizzo e alcune nuove funzioni, interessanti, per utilizzare questo strumento

wp_body_open() Hook

Anche questo è argomento per sviluppatori, ma anche gli utenti potrebbero incappare in problemi causati da questo nuovo hook.

Per prima cosa cerchiamo di capire cosa fa questo nuovo hook.

In pratica, aggiunge una nuova action, che serve per aggiungere funzionalità da parte, soprattutto, dei plugin.

Molto importante, NON deve essere utilizzata per aggiungere HTML o funzioni di visualizzazione.

Questa funzione dovrebbe inserita nel tag body, subito dopo la sua apertura:

<body <?php body_class(); ?>> 
<?php wp_body_open(); ?>

Ok, ma cosa succede se non utilizzo wordpress 5.2 e ho una versione precedente?

Un bel fatal error!

Le soluzioni al problema sono due:

La prima soluzione è per chi sviluppa temi che NON vengono caricati sulla directory dei temi di wordpress.org.

Inserite nel functions.php del vostro tema questo controllo:

<?php
if ( ! function_exists( 'wp_body_open' ) ) {
    function wp_body_open() {
        do_action( 'wp_body_open' );
    }
}

Se invece il vostro tema è sviluppato per essere caricato sulla directory dei temi di wordpress.org, dato che non sono accettate funzioni con prefisso wp, potete seguire questa strada:

<body <?php body_class(); ?>>
<?php 
if ( function_exists( 'wp_body_open' ) ) {
    wp_body_open();
} else {
    do_action( 'wp_body_open' );
}

Ora il sistema, per gli sviluppatori di plugin, per sapere se questa azione è disponibile, così da poter gestire azioni di fallback:

did_action( 'wp_body_open' )

A questo link trovate il post completo, in inglese, con tutte le spiegazioni.

Spero di essere stato utile e, soprattutto, chiaro, nel caso non, sentitevi liberi di chiedere.

Anche questo post è stato scritto con gutenberg, che mi piace sempre di più!

Ho una newsletter che parla di WordPress

This is the archive

Iscriviti alla mia Newsletter

Published inWordpress

Sii il primo a commentare

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.

%d blogger hanno fatto clic su Mi Piace per questo:

On this website we use first or third-party tools that store small files (cookie) on your device. Cookies are normally used to allow the site to run properly (technical cookies), to generate navigation usage reports (statistics cookies) and to suitable advertise our services/products (profiling cookies). We can directly use technical cookies, but you have the right to choose whether or not to enable statistical and profiling cookies. Enabling these cookies, you help us to offer you a better experience.