✅ Notizie, temi, plugin WEB e WordPress. Qui condividiamo suggerimenti e le migliori soluzioni per siti web.

Come rimuovere caratteri speciali dai permalink

10

Ogni volta che lavori con WordPress e API di terze parti, c’è sempre la possibilità che ti imbatti in problemi in cui l’API di terze parti non è pronta a gestire determinati caratteri che esistono in un permalink.

A seconda delle impostazioni del permalink, tuttavia, questo potrebbe essere o meno un problema. Ad esempio, potresti avere i tuoi permalink impostati su qualcosa come ?p=123 per ogni post. In tal caso, non è un gran problema.

Ma se stai usando "permalink graziosi" e il tuo permalink include qualcosa come un simbolo di marchio o un simbolo di copyright, potrebbe causare problemi ogni volta che comunichi con detta API di terze parti.

Innanzitutto, se stai usando dei permalink graziosi, questi sono generalmente creati dal titolo del post. Quindi, se usi qualcosa come All About The Acme Machine™ genererà un permalink che include qualcosa del genere.

Ad esempio, potresti fare in modo che WordPress generi automaticamente qualcosa del genere: https://acme.com/all-about-the-acme®-machine/

E quando arriva il momento di inviare tali informazioni a un’API di terze parti (o di provare a elaborarle utilizzando qualcosa che non è preparato per tali personaggi), allora ti imbatterai in problemi.

Fortunatamente, WordPress fornisce un hook che ci consente di elaborare i permalink prima che vengano serializzati nel database. Vale a dire, questo è l’ hook wp_insert_post_data.

E in questo caso funziona così:

  1. Imposta l’hook in modo che si attivi alla fine del processo di serializzazione,
  2. Cerca i personaggi che potrebbero essere problematici,
  3. Sostituiscili con una stringa vuota,
  4. Restituire le informazioni aggiornate a WordPress per la serializzazione.

Ecco un esempio che cerca di rimuovere vari simboli come simboli di copyright, simboli di marchi, simboli di registrazione e altre loro varianti sia nei formati codificati che negli equivalenti codificati:

Nota che la funzione accetta i dati del post come argomento, controlla che tu non stia lavorando con una bozza, un articolo in sospeso o una bozza automatica, quindi rimuove i contenuti nel nome del post per

Questo potrebbe essere un problema sfumato. Cioè, forse non lo incontrerai nei tuoi sforzi di sviluppo. Se, d’altra parte, lo fai, questo fornisce una soluzione che non solo ti consente di rimuovere determinati caratteri dall’URL, ma ti consente anche di farlo in modo scalabile.

Quindi, quando le tue esigenze cambiano, puoi semplicemente aggiornare la chiamata preg_replace con i caratteri che devi rimuovere dal tuo URL.

Fonte di registrazione: tommcfarlin.com

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More