• Home
  • Corsi

    Informazioni sui corsi

    • Tutti i corsi
    • Diventa un insegnante
    • Profilo insegnante
    Fondamenti di programmazione: le basi del linguaggio C++

    Fondamenti di programmazione: le basi del linguaggio C++

    €29.99 €9.99
    Read More
    D4F Games
  • Develop4fun
    • Chi siamo
    • Portfolio
    • Eventi
    • Galleria
    • Negozio
    • FAQ
  • Articoli
  • Contattaci
  • Accedi

Cerca

Hai qualche domanda?
contact@develop4fun.com
Develop4fun
  • Home
  • Corsi

    Informazioni sui corsi

    • Tutti i corsi
    • Diventa un insegnante
    • Profilo insegnante
    Fondamenti di programmazione: le basi del linguaggio C++

    Fondamenti di programmazione: le basi del linguaggio C++

    €29.99 €9.99
    Read More
    D4F Games
  • Develop4fun
    • Chi siamo
    • Portfolio
    • Eventi
    • Galleria
    • Negozio
    • FAQ
  • Articoli
  • Contattaci
  • Accedi
    • Categorie

      • Backend
        • PHP e MySQL
      • C#
      • C++
      • CMS
      • CSS
      • Frontend
        • CSS
        • Html
        • Javascript
      • Html
      • Javascript
      • Javascript
      • Linguaggio di programmazione
        • C#
        • C++
        • Javascript
        • Lua
      • LOVE2D
      • Lua
      • Phaser 3
      • PHP e MySQL
      • RayLib
      • Sviluppo
        • Linguaggio di programmazione
          • C#
          • C++
          • Javascript
          • Lua
        • Videogiochi
          • LOVE2D
          • Phaser 3
          • RayLib
          • Unity3D
          • Unreal Engine
        • Web
          • Backend
            • PHP e MySQL
          • CMS
          • Frontend
            • CSS
            • Html
            • Javascript
      • Unity3D
      • Unreal Engine
      • Videogiochi
        • LOVE2D
        • Phaser 3
        • RayLib
        • Unity3D
        • Unreal Engine
      • Web
        • Backend
          • PHP e MySQL
        • CMS
        • Frontend
          • CSS
          • Html
          • Javascript

PHP

Home » Articoli » WordPress 5.2: problema con la funzione the_excerpt

WordPress 5.2: problema con la funzione the_excerpt

  • Pubblicato da Antonella De Chiara
  • Categorie PHP, Wordpress
  • Data 17 Maggio 2019
  • Commenti 0 commenti
Wordpress
(Ultimo aggiornamento: 28 Settembre 2021)

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 d4fString( $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, d4fString, 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:

substr(stringa, carattere_di_partenza[, quanti_caratteri])

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 d4fString($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://www.develop4fun.it/premium-corsi-online-in-abbonamento

▼ SEGUICI SU ▼
» Facebook (italiano): https://www.facebook.com/develop4funwebdev
» Facebook (francese): https://www.facebook.com/developforfun
» Instagram: https://www.instagram.com/develop4fun
» Twitter: https://twitter.com/Develop4funW

» VISITA IL NOSTRO SITO WEB: https://www.develop4fun.it/
» ISCRIVITI SUBITO AL NOSTRO CANALE: https://www.youtube.com/channel/UCZ4dhshzpVbbRPVuL9TNH4Q

Visualizzazioni post: 1.076

Tag:Child Theme, functions.php, funzione php, Programmatore, strip_shortcodes, strip_tags, strlen, substr, tema child, the_excerpt, WordPress 5.2

  • Share:

INFORMAZIONI SULL'AUTORE

Antonella De Chiara
Antonella De Chiara

Appassionata di giochi di ruolo giapponesi, genere che ha scoperto grazie alla saga Final Fantasy e approfondito con i capolavori usciti negli ultimi anni, s’interessa al retrogaming, rigiocando e programmando vecchie glorie come Monkey Island, Prince of Persia o vecchi capolavori marchiati Nintendo.
Antonella comincia il suo percorso giornalistico in Italia, lavorando con Gamerepublic, PS Mania e Pokémon Mania. Si trasferisce in Francia per studiare la programmazione web e gamedev: grazie a questo percorso anomalo nasce Develop4fun.

Articolo precedente

Come cambiare il Script editor di default? - Unity
17 Maggio 2019

Articolo successivo

L'E3 2019 è cominciato!
9 Giugno 2019

Ti potrebbe anche piacere

PHP
PHP: a cosa serve?
18 Novembre, 2020
WordPress
WordPress: risolvere l’errore “La risposta non è una risposta JSON valida”
5 Ottobre, 2020
WordPress
Il gergo WordPress
30 Marzo, 2020

Lascia un commento Annulla risposta

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

Cerca

Impara a programmare videogiochi web con Phaser 3

Impara a programmare videogiochi web con Phaser 3

€49.99 €9.99
HTML e CSS: Corso di programmazione per principianti

HTML e CSS: Corso di programmazione per principianti

€69.99 €9.99
[Lua & LOVE2D] Introduzione alla programmazione dei videogiochi

[Lua & LOVE2D] Introduzione alla programmazione dei videogiochi

€49.99 €9.99
D4F Games

Ultimi articoli pubblicati

unity3d
Chi sono gli sviluppatori nel mondo dei videogiochi?
22Nov2021
[Unreal Engine] Un nuovo fantastico asset GRATUITO!
[Unreal Engine] Slay, un nuovo fantastico asset GRATUITO!
22Set2021
Steam
Come pubblicare un videogioco su Steam?
21Set2021

© Develop4fun.it by Develop4fun  2016-2022. Tutti i diritti riservati.

Gestisci Consenso Cookie
Usiamo cookie per ottimizzare il nostro sito web ed i nostri servizi.
Funzionale Sempre attivo
L'archiviazione tecnica o l'accesso sono strettamente necessari al fine legittimo di consentire l'uso di un servizio specifico esplicitamente richiesto dall'abbonato o dall'utente, o al solo scopo di effettuare la trasmissione di una comunicazione su una rete di comunicazione elettronica.
Preferenze
L'archiviazione tecnica o l'accesso sono necessari per lo scopo legittimo di memorizzare le preferenze che non sono richieste dall'abbonato o dall'utente.
Statistiche
L'archiviazione tecnica o l'accesso che viene utilizzato esclusivamente per scopi statistici. L'archiviazione tecnica o l'accesso che viene utilizzato esclusivamente per scopi statistici anonimi. Senza un mandato di comparizione, una conformità volontaria da parte del vostro Fornitore di Servizi Internet, o ulteriori registrazioni da parte di terzi, le informazioni memorizzate o recuperate per questo scopo da sole non possono di solito essere utilizzate per l'identificazione.
Marketing
L'archiviazione tecnica o l'accesso sono necessari per creare profili di utenti per inviare pubblicità, o per tracciare l'utente su un sito web o su diversi siti web per scopi di marketing simili.
Gestisci opzioni Gestisci servizi Gestisci fornitori Per saperne di più su questi scopi
Preferenze
{title} {title} {title}