Quella di oggi è una semplice guida per spiegare in modo semplice come creare un “plugin” per wordpress.
WordPress è un CMS open source nato come piattaforma di “blogging” che negli anni si è evoluto diventando uno strumento valido per sviluppare siti web, e-commerce e applicazioni più complesse , restando sempre un CMS di facile utilizzo.
Di per suo WordPress dispone di molteplici funzionalità alle quali se ne possono aggiungere delle altre o modificarne il comportamento con l’ utilizzo di “plugin”, programmi scritti appunto per rendere il CMS utile per un determinato scopo.
In questo articolo vediamo come creare un “plugin” sviluppando un semplice form contatti da integrare in una pagina con un semplice shorcode.
Intestazione del plugin
Iniziamo creando una cartella con il nome del “plugin” all’interno del percorso “wp-content/plugins/mio_plugin” e all’ interno di essa creiamo il file php con l’intestazione per far riconoscere a wordpress che si tratta di un “plugin”.
E’ importante specificare che un plugin può essere creato utilizzando anche un unico file da posizionare nel percorso “wp-content/plugins/” oppure come nel nostro caso “wp-content/plugins/mio_plugin” ma non in percorsi di sottolivello maggiore, altrimenti worpress non lo troverà.
Per esempio se il mio “plugin” avrà il percorso “wp-content/plugins/mio_plugin/mio_pugin/mio_plugin.php” non sarà visibile e quindi non trovato da WordPress.
<?php /* Plugin Name: Simple contact form Plugin URI: http://www.edinweb.altervista.org Description: Descrizione del plugin Version: 1.0 Author: Emilio Edin Author URI: http://www.edinweb.altervista.org */ ?>
Salviamo il file, andiamo nell’amministrazione di wordpress e cliccando su “plugin” nel menu di sinistra vediamo che il “plugin” appena creato è elencato tra quelli disponibili:
Mostriamo il contenuto nella pagina
Ovviamente se attiviamo il “plugin” non succede nulla, bisogna integrare le funzionalità necessarie per visualizzare il form all’interno della pagina.
Creiamo un altro file php con il codice necessario per la creazione del form:
<form method="POST" id="contact-form" action=""> <p> <label for="nome">Il tuo nome:</label> <input type="text" placeholder="" required name="nome" id="nome" style="width:330px" autofocus /> </p> for="email">Email:</label> <input type="email" name="email" placeholder=""id="email" style="width:330px" required/> </p> <p> <label for="oggetto">Oggetto</label> <input type="text" name="oggetto" placeholder="" id="oggetto" style="width:330px" required/> </p> <p> <label for="messaggio">Messaggio:</label> <textarea name="messaggio" id="messaggio" style="width:500px;height:250px"></textarea> </p> <p> <input name="submit" type="submit" id="contact-submit" value="Invia"> </p> </form>
Torniamo nel file principale del “plugin” che al momento contiene soltanto l’intestazione ed aggiungiamo questa porzione di codice:
function edin_simple_form_contact_shortcode() { require ("form_contact.php"); } add_shortcode( 'edin_contact', 'edin_simple_form_contact_shortcode' );
Praticamente quando il “plugin” sarà attivato, inserendo lo shortcode “[edin_contact]” nel contenuto della nuova pagina, potremo visualizzare finalmente il modulo contatti.
Aggiungiamo lo stile al form
Adesso curiamo l’aspetto del form caricato con l’aggiunta di un foglio di stile al plugin. All’interno del percorso del nostro plugin creiamo una cartella “css” nella quale inseriamo il file “style.css”. A questo punto dobbiamo dire a wordpress che deve caricare il foglio di stile da applicare al form e lo facciamo utilizzando wp_register_style e wp_enqueue_style:
function edin_contact_form_enqueue_style() { wp_register_style( 'edin_style', plugins_url('/css/style.css', __FILE__) ); wp_enqueue_style( 'edin_style'); } add_action('wp_enqueue_scripts', 'edin_contact_form_enqueue_style');
add_action è un funzione che permette di eseguire una funzione in un punto stabilito e al verificarsi di una certa condizione, in questo caso il foglio di stile del plugin tramite il gancio “wp_enqueue_scripts” viene richiamato all’interno del tag “<head>” con gli altri script e fogli di stile.
Invio dei dati
Non ci resta che rendere più funzionale il nostro “plugin” visto che per adesso abbiamo solo la visualizzazione del form HTML con cui non è possibile ancore inviare i dati. Torniamo all’interno del file “form_contact.php” ed inseriamo il codice necessario per inviare una mail con i dati presenti nel modulo:
if(isset($_POST['submit'])){ $nome=$_POST['nome']; $email=$_POST['email']; $oggetto=$_POST['oggetto']; $messaggio=$_POST['messaggio']; $to= 'maildestinatario'; $headers = "From:" .$email; if(mail($to, $oggetto, $messaggio, $headers)){ echo "Mail inviata con successo"; } }
Chiaramente l’esempio mostra le basi di come creare un “plugin” per wordpress, è chiaro che vanno aggiunte altre funzionalità in termini di sicurezza.