wp-holidays howto (1/2)

Se avete letto un po’ in giro avrete visto che la scorsa settimana insieme a due tizi abbiamo rilasciato un piccolo e semplice plugin per wordpress che permette di visualizzare un’immagine sotto ogni post che invita all’iscrizione dei feed rss.

wp-holidays summer image

Se volete provare ad usarlo potete dare un’occhiata alle guide realizzate dei due tizi…

La cosa simpatica è che da ieri sera wp-holidays è stato approvato dallo staff di wordpress.org, ed adesso si trova nel repository ufficiale

Questo, in teoria, dovrebbe permette l‘aggiornamento automatico. 🙂

Vorrei però in questa sede dare uno squardo a come funziona esaminando le chiamate alle funzioni di wordpress utilizzare.

Possiamo dividere il comportamento del plugin in due sezioni: lato blog (di cui ci occuperemo in questo post)e lato amministrazione (nei prossimi giorni).

La visualizzazione al fondo di ogni post è stata resa possibile utilizzando l’hook fornito da “the_content”.

add_filter(‘the_content’, ‘wp_holiday_filter’);

Con questa chiamata ogni volta che viene utilizzata la funzione “the_content” all’interno del nostro template viene attivata anche l’esecuzione della nostra procedura “wp_holiday_filter”

function wp_holiday_filter( $any=” ) {



$any .= “

“;

return $any;

}

Tralasciando quello che succende all’interno di questa funzione è interessante notare che viene passato un parametro (che io ho in modo assolutamente personale ho chiamato $any) nel quale è presente tutto il contenuto del post che verra visualizzato nelle nostre pagine.

Nel nostro caso è qundi sufficente aggiungere il codice per la visualizzazione della nostra immagine…

Per complicare un po’ le cose tra le opzioni configurabili tramite l’amministrazione abbiamo inserito la possibiltà di escudere la visualizzazione dalla nostra immagine dell’ homepage.

function wp_holiday_filter( $any=” ) {

if ( $wp_holiday_display == “nohome” && is_front_page() ) {

// check if we can diplay the image

} else {

$any .= “

“;

}

return $any;

}

Questo controllo viene fatto tramite la verifica di una variabile ” $wp_holiday_display” ed il controllo del valore della funzione “is_front_page()” che restuisce “true” se ci troviamo in home page.

Ma nel caso non volessimo visualizzarla neppure nelle singole pagine in quanto abbiamo decisodi posizionarla nella nostra sidebar?

Ecco che ci viene in auto un altra opzione configurabile tramite l’amministrazione che escude l’attivazione dell’hook


$wp_holiday_position = get_option(‘wp_holiday_position’);

if ( $wp_holiday_position == “after-post” ) {

add_filter(‘the_content’, ‘wp_holiday_filter’);

}

Vediamo come la variabile “$wp_holiday_position” sia valorizzata utilizzando “get_option“, poi controllando il valore viene valutato se attivare il filtro.

Se l’hook non viene attivato dobbiamo inserire nel codice php della nostra sidebar dove visualizzare l’immagine: ho creato quindi due funzioni richiamabili da template.

function wp_holiday( ) {

echo wp_holiday_filter();

}

function get_wp_holiday( ) {

return wp_holiday_filter();

}

La due funzioni permettono rispettivamente la stampa dell’output o, nel caso ne avessimo bisogno per un’ulteriore elaborazione, la gestione del codice html prodotto.

Per il momento mi fermo qui, nel prossimo post vedremo in quale modo è stata creata la pagine di amministrazione e come è sia possibile salvare le opzioni utilizzando le funzioni offerte dal motore di wordpress.

Questa la pagina per la segnalazione di bug e suggerimenti per la prossima versione.

Pubblicato da .:: Maurizio Pelizzone

WordPress Lover

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.