WordPress รจ un ottimo prodotto. Lo sappiamo. ร facile da usare, potente e molto flessibile. Infatti, รจ andata crescendo la velocitร con la quale si sviluppa l’integrazione. La dipendenza dal CMS รจ aumentata esponenzialmente all’interno della comunitร web ma anche per i comuni mortali. ๐
A volte, perรฒ, non รจ tutto rose e fiori. Ci sono gli aggiornamenti da gestire, bug potenziali, imcompatibilitร fra un plugin e un’altra estensione, ecc.
Infatti, nella versione 5.2 di WordPress, abbiamo riscontrato un problema piuttosto importante riguardante le funzioni the_excerpt() e get_the_excerpt().
Non preoccupatevi, si tratta, per ora, di un bug trovato in un unico sito.
Dopo aver testato quasi ogni possibilitร , ci siamo detti che poteva essere un problema di Gutenberg, il nuovo editor del CMS, oppure del server. O forse dell’assemblaggio “plugin + tema”.
Insomma, per non perdere altro tempo ci siamo messi a creare una funzione PHP efficace per rimpiazzare il the_excerpt() di WordPress.
Ovviamente si trova nel file functions.php del nostro tema child:
function itamdeString( $content, $limit, $sep = '...' ) {ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย
if( strlen($content) >= $limit ) {
$content = substr( $content, 0, $limit );
$content = substr( $content, 0, strrpos($content, ' ') );
$content .= $sep;
}
return strip_tags(strip_shortcodes($content));
}Bene, traduciamo queste poche linee di codice.
Come in PHP “puro”, abbiamo dichiarato una funzione, itamdeString, avente tre parametri: $content (il contenuto), $limit (i caratteri che si vogliono inserire) e $sep (la parte troncata del testo).
La funzione strlen restituisce la lunghezza della stringa $content. Invece la funzione substr restituisce una parte di una stringa. La sua sintassi รจ la seguente:
Alla fine delle operazioni, concateniamo $content alla fine del testo, che in questo caso si conclude con i tre puntini di sospensione.
Infine, aggiungiamo strip_tags per togliere l’html dal contenuto e strip_shortcodes per rimuovere eventuali shortcodes di WordPress.
Una volta finito, bisogna soltanto chiamare la funzione nella parte front del sito.
<?php echo itamdeString($excerpt, 150); ?>
Non aggiungiamo il terzo parametro perchรฉ il valore di default (i tre puntini di sospensione), ci soddisfa.
Ovviamente dovrete recupereare il contenuto ($excerpt) utilizzando MySQL, quindi ci sarร il passaggio supplementare da fare.
E’ una funzione che potrete facilmente riutilizzare in qualsiasi sito fatto in php, bisogna soltanto togliere strip_shortcodes che รจ una funzione propria a WordPress.
Ricordatevi sempre che lo sviluppo รจ una forma dโarte.
I nostri corsi : https://itamde.com/it/corsi-online-digitali/
โผ SEGUICI SU โผ
ยป Facebook: https://www.facebook.com/itamde
ยป Instagram: https://www.instagram.com/itamdestudio
ยป X (Twitter): https://x.com/itamdestudio
ยป ISCRIVITI SUBITO AL NOSTRO CANALE: https://www.youtube.com/channel/UCZ4dhshzpVbbRPVuL9TNH4QRPVuL9TNH4Q







0 commenti