Site icon Tosolini.info

WordPress: sostituire parole negli articoli.

Immaginiamo che abbiamo un sito fanzine che parla in modo selettivo di un particolare marchio. Questo viene comprato, o per qualche altra ragione, cambia il nome. Ma potrebbe anche essere il vostro caso, cambiate nome al sito per vari motivi, succede più spesso di quanto non crediate.

Ecco, ora avete un sacco di articoli con un richiamo a qualcosa che non esiste più. Sarebbe un bel problema ma non per WordPress che con qualche riga di codice permette di cambiarli “al volo”. L’esempio che riporto può anche essere utile nel caso si voglia trasformare un particolare testo in una URL predefinita. Ad esempio ogni volta che citiamo wikipedia all’interno di un articolo, questa diventerà un hyperlink.

Per fare ciò andremo ad aggiungere del codice all’interno del file functions.php del nostro tema grafico. In alternativa può essere trasformato in un plugin.

function rimpiazza_testo($testo){
    $cambia = array(
        // 'Parola da modificare' => 'Nuova parola'
        'wikipedia' => '<a href="https://www.wikipedia.com">wikipedia</a>',
        'parola' => 'altra parola'
    );
    $testo = str_replace(array_keys($cambia), $cambia, $testo);
    return $testo;
}

add_filter('the_content', 'rimpiazza_testo');
add_filter('the_excerpt', 'rimpiazza_testo');

Come si può intuire, andiamo a creare una funzione che contiene un array di parole che dovremo trattare. Sulla sinistra la parola da modificare, sulla destra la nuova definizione. Attraverso la funzione str_replace di PHP, concatenata alla funzione array_keys (sempre di PHP) che ritorna tutte le voci elencate, andiamo ad effettuare lo scambio. I filters (funzioni core di WordPress) alla fine applicano questa modifica al contenuto dell’articolo (the_content) oppure al testo di riassunto (the_excerpt).

Alcune considerazioni. Non caricate l’array con un numero elevato di voci, questa in realtà è una modifica “al volo” del testo da parte di PHP. All’interno del vecchio articolo non troverete le parole modificate, ma bensì quelle vecchie.

Exit mobile version