Questo tutorial si pone l’obbiettivo di darvi una linea guida per creare il vostro primo Widget utilizzando il Framework di WordPress. Dato che l’argomento è un pò troppo lungo per trattarlo in un unico post ho deciso di dividerlo in due post distinti.
Dato lo scopo puramente illustrativo il nostro Widget non farà altro che visualizzare informazioni di Nome e Cognome così come inseriti nel form delle impostazioni del widget nella dashboard.
Partiamo! Per prima cosa apriamo il nostro editor di pagine PHP e creiamo il file primo-widget.php . Il framework prevede una struttura abbastanza prefissata su come i widget debbano essere strutturati.
Cominciamo con l’ inserire nel file la descrizione del Widget che apparirà nell’elenco “Plugin” della Dashboard di WordPress:
<?php
/*
Plugin Name: Primo Widget
Plugin URI: none
Description: breve descrizione delle funzionalità
Version: 1.0
Author: GuruCoder
Author URI: none
== Changelog ==
* Added category option (July 28, 2009)
= 1.0 =
* First release (August 28, 2009)
Copyright 2009 Andrea Brandi
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
*/
Un Widget WordPress può essere logicamente distinto in quattro blocchi. Un primo blocco di inizializzazione ( funzione PrimoWidget() ) , un blocco per la “business logic” in altri termini “cosa fa il nostro widget” ( funzione widget() ) , un blocco per l’aggiornamento dei dati ( funzione update() ) ed un blocco per la visualizzazione del form lato amministrazione per l’nserimento dei parametri ( funzione form() ).
Cominciando dal primo blocco, abbiamo la dichiarazione della classe ed il cotruttore ( PrimoWidget() ):
class PrimoWidget extends WP_Widget{
function PrimoWidget(){
$widget_ops = array('classname' => 'Primo Widget' ,
'description' => __('Un semplice Widget')
);
$this->WP_Widget('PrimoWidget', __('Un Semplice Widget') , $widget_ops);
}
In particolare il metodo WP_Widget() ha il compito di creare il widget con relativo nome, descrizione e opzioni che sono state inserite nella variabile $widget_ops .
Passando al secondo blocco:
function widget($args,$instance){
extract($args);
$title = apply_filters('widget_title',$instance['title']);
$nome = $instance['nome'];
$cognome = $instance['cognome'];
echo $before_widget;
if ($title) echo $before_title . $title . $after_title;
if ( $nome && $cognome ) {
$nomecompleto = $nome . " " . $cognome ;
printf( __('Ciao, io sono %1$s.','esempio'),$nomecompleto );
}
echo $after_widget;
wp_reset_query();
}
Qui avviene il prelievo dei dati, in questo caso il nome ed il cognome, che vengono visualizzati nel widget tramite il metodo printf(). I tags $before_widget ,$after_widget , $before_text e $after_text , in questo caso non sono stati ridefiniti quindi seguiranno le caretteristiche del tema in uso.
Nella seconda parte andrò avanti ad illustrare le restarti parti del codice..