Come inserire automaticamente banner, shortcode e contenuti personalizzati all’interno dei post WordPress
In questo nuovo articolo, vedremo come aggiungere in automatico ogni tipo di contenuto, come banner pubblicitari o shortcode, all’interno di tutti gli articoli oppure pagine di WordPress.
Il vantaggio principale di questo approccio, è la possibilità di effettuare l’inserimento del contenuto senza la necessità di apportare manualmente modifiche agli articoli, con un notevole risparmio di tempo.
Per poter fare questo, sarà necessario utilizzare la funzione explode di PHP, andando a trasformare il contenuto di ogni articolo in un array, utilizzando come delimitatore il tag di chiusura di un paragrafo HTML </p>
L’array che verrà restituito dalla funzione explode, sarà composto da un numero di elementi pari al totale dei paragrafi presenti nell’articolo.
Così facendo, sarà possibile aggiungere il contenuto personalizzato in un punto specifico di ciascun articolo, ad esempio, dopo il secondo paragrafo.
Questo è possibile grazie al modo in cui WordPress gestisce i contenuti.
Infatti, WordPress separa i paragrafi utilizzando il tag HTML <p>, anche se questi potrebbero non essere presenti esplicitamente nell’articolo.
Detto ciò, la soluzione migliore per aggiungere questa funzionalità nel tuo sito WordPress è la creazione di un piccolo plugin WordPress.
Creazione di un nuovo plugin WordPress
Inizia creando una nuova cartella all’interno della directory wp-content/plugins e rinomina la cartella come wip-custom-content (ma puoi utilizzare un nome a tua scelta)
Al suo interno crea il file init.php ed aggiungi l’intestazione del plugin.
<?php /* Plugin Name: WIP custom content Version: 1.0 Plugin URI: https://www.wpinprogress.com/ Description: WIP custom content Author: WPinProgress Text Domain: wcc Domain Path: /translation */
Inserimento del contenuto personalizzato
Successivamente crea una nuova funzione che verrà agganciata al filtro the_content(), assegnando alla variabile $customContent, il contenuto da inserire, e alla variabile $position, la posizione del contenuto all’interno degli articoli.
function wip_custom_content($content) { if (is_single()) : $customContent = ' CONTENUTO CUSTOM '; $position = 2; $temp = explode('</p>', $content); $temp[$position] = $customContent . $temp[$position]; $content = implode('</p>', $temp); endif; return $content; } add_filter('the_content', 'wip_custom_content');
Una volta attivato il plugin, troverai il contenuto custom definito con la variabile $customContent dopo il secondo paragrafo di ogni articolo.
Se invece desideri inserire il contenuto in tutte le pagine, puoi utilizzare un tag condizionale differente
Nel nostro caso, dovrai sostituire is_single() con is_page()
function wip_custom_content($content) { if (is_page()) : /* IL RESTO DEL CODICE RIMANE UGUALE */
Puoi anche stabilire post specifici, indicando l’ID di ogni articolo (nell’esempio seguente, il contenuto custom verrà inserito solamente negli articoli con ID 1, 23 e 55)
function wip_custom_content($content) { if (is_single(array(1,23,55))) : /* IL RESTO DEL CODICE RIMANE UGUALE */
In alternativa, invece degli ID, puoi specificare solamente il titolo degli articoli.
function wip_custom_content($content) { if (is_single(array('Articolo 1','Articolo di esempio','Ciao mondo'))) : /* IL RESTO DEL CODICE RIMANE UGUALE */
Come già detto all’inizio della guida, puoi utilizzare questo plugin anche per includere ogni tipo di shortcode come, ad esempio, quello fornito dal plugin Contact Form 7
In questo modo avrai la possibilità di aggiungere i moduli di contatto all’interno di tutte le pagine del tuo sito, senza doverle modificare manualmente.
Conclusione
Questi è un semplice esempio che puoi utilizzare liberamente nei tuoi siti WordPress.
Se invece desideri maggiore flessibilità, oppure non hai esperienza con la programmazione, puoi dare un’occhiata al mio plugin Content Snippet Manager.