Archivio

Articoli taggati ‘PHP’

Creare il primo Widget per WordPress ( Parte 2 )

agosto 28, 2009 Lascia un commento

wordpressWidgetCome continuazione del precedente post passiamo ad analizzare le restanti parti del nostro widget:

Passando alla funzione di aggiornamento, si tratta di una funziona richiamata dal framework proprio per aggiornare i valori dei parametri relativi al widget ogni volta che vengono modificati all’interno del form lato dashboard.

function update($new_instance,$old_instance){
   $instance = $old_instance ;
   $instance['title'] = strip_tags($new_instance['title']);
   $instance['nome'] =  strip_tags($new_instance['nome']);
   $instance['cognome'] = strip_tags($new_instance['cognome']);
   return $instance ;
}

Infine c’ è la funzione form(), utilizzata dalla dashboard per dare la possibilità all’utente di modificre le caratteristiche del widget:

function form($instance){            

      $instance = wp_parse_args( (array)$instance ,
                              array( 'title' => 'Primo Widget' ,
                                     'nome' => 'nome di default' ,
                                     'cognome' => 'cognome di default' ,
                              )
                           );
      ?>
     <p>
     <label for="<? echo $this->get_field_id('title'); ?>">
                                       <? _e('Title'); ?> </label>
     <input id= "<? echo $this->get_field_id('title'); ?>"
                 name="<? echo $this->get_field_name('title'); ?>"
                 value="<? echo $instance['title']; ?>"/></p>
     <p>
     <p>
     <label for="<? echo $this->get_field_id('nome'); ?>" >
                                       <? _e('Nome:'); ?> </label>
     <input id= "<? echo $this->get_field_id('nome'); ?>"
                 name="<? echo $this->get_field_name('nome'); ?>"
                 value="<? echo $instance['nome']; ?>"/></p>
     <p>
     <p>
     <label for="<? echo $this->get_field_id('cognome'); ?>" >
                                       <? _e('Cognome:'); ?> </label>
     <input id= "<? echo $this->get_field_id('cognome'); ?>"
                 name="<? echo $this->get_field_name('cognome'); ?>"
                 value="<? echo $instance['cognome']; ?>"/></p>

<? } // end form

Come si può notare dal codice, inizialmente  la variabile $instance viene caricata con i valori di dafault per poi essere eventualmente aggiornata tamite il form sottostante.

L’ultimo passo per terminare il nostro Widget, è l’ inserimento della funzione di caricamento ed il successivo lancio del widget:

function primo_widget_load(){
  register_widget('PrimoWidget');
  }
add_action('widgets_init','primo_widget_load');

In particolare il lancio del Widget avviene tramite la chiamata della funzione add_action().

Installazione del Widget

Prima di tutti inserite tutti i pezzi di codice in unico file e chiamatelo primo-widget.php. Per installare ed attivare il widget è necessario prima di tutto caricarlo sul vostro spazio web all’interno della cartella plugin di wordpress . A questo punto, accedete all dashboard e andate alla voce Plugin->Installati e trovate il vostro widget che sarà denominato “Primo Widget”. A questo punto cliccate si “attiva” ed il gioco è fatto. Per inserire tale widget in una sidebar per poterlo visualizzare , basta cliccare sulla voce Widget della barra laterale, selezionare il nostro nuovo widget e trascinarlo all’interno della barra laterale desiderata.

Spero che sia tutto chiaro, per qualsiasi tipo di informazione o dubbio non esitate a lasciare Commenti!

Categories: PHP, Wordpress Etichette: ,

Creare il primo Widget per WordPress ( Parte 1)

agosto 28, 2009 Lascia un commento

wordpressWidgetQuesto 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..

Categories: PHP, Wordpress Etichette: ,

Aggiungere una nuova sidebar ad un tema WordPress

agosto 25, 2009 Lascia un commento

Ipotiziamo di avere a disposizione un tema wordpress che si adatta alle vostre esigenze …ma con un piccolo problema … c’è una sola sidebar. Niente paura! invece di cambiare completamete tema , è possibile aggiungere al tema corrente una nuova sidebar e inservi all’interno i vari widgets desiderati.

La prima cosa da fare è aggiungere le informazioni relative alla nuova sidebar all’interno del file functions.php del vostro tema, tramite la chiamata alla funzione register_sidebar() come riportato di seguito:

register_sidebar(array('name'=>'sidebar_left',
 'before_widget' => '<div>',
 'after_widget' => '</div>',
 'before_title' => '<h3>',
 'after_title' => '</h3>')
 );

A questo punto salviamo e chiudiamo il file. Il prossimo passo consiste nell’ accedere al file sidebar.php ed inserire il seguente codice:

<div id="sidebar_left">
<?php if ( !function_exists('dynamic_sidebar') ||
                    !dynamic_sidebar('sidebar_left') ) : ?>
<div>
<h3>Categorie</h3>
<ul>
 <?php wp_list_categories('show_count=0&title_li='); ?>
</ul>
</div>
</li>
<?php endif; ?>
</ul>
</div> <!-- Closes Sidebar_left -->

In questo modo stiamo dicendo a WordPress che se non sono presenti Widgets all’interno della sidebar , questa verrà visualizzata con all’ interno l’elenco delle categorie presenti nel blog.

L’ultima operazione sta nel gestire eventuali problemi di allineamento della nuova sidebar con il resto del blog, ma questo è un problema che dipende da come il vostro blog è organizzato in temini di CSS.

Categories: PHP, Wordpress Etichette: ,

Modificare la funzione the_excerpt() di WordPress

agosto 25, 2009 Lascia un commento

400_F_3474972_YLikOhrAx7dI66lQE2CUnxcGZNfpUILa funzione the_excerpt() viene utilizzata da WordPress per visualizzare un sommario degli articoli, solitamente viene richiamata nella visualizzazione degli archivi o delle categorie di un blog. Ma ipotizzando che si voglia visualizzare i sommari degli articoli direttamente nella pagina iniziale, i limiti di tale funzione si notano subito.

Prima di tutto the_excerpt() ignora del tutto ogni tipo di tag HTML , ciò comporta che ogni formattazione o immagine presente nel testo dell’ articolo originale non verrà visualizzato nel sommario, a meno che tale sommario non venga scritto manualmente dall’autore. Inoltre il numero massimo di parole presenti nel sommario è fissato a 55 , numero che potrebbe essere non sufficiente per ogni tipo di blog.

L’idea è di modificare the_excerpt() per renderla più adatta ai nostri scopi. Tutte le modifiche che verranno apportate al codice, si riferiscono all’ interno di un determinato tema senza modificare il core di WordPress.

Identificare la funzione

wp_trim_excerpt()è presente nel file wp-includes/formatting.php . Ricordando che non stiamo modificando il core, bisogna copiare e salvare l’intero corpo della funzione altrove. Apriamo il file functions.php del nostro tema utilizzato ed incolliamo la funzione. E’ importante modificare il nome della funzione in modo che il nome sia univoco , quindi modifichiamo il nome della funzione in :

function improved_trim_excerpt($text) {

Ecco come appare la funzione modificata:

function improved_trim_excerpt($text) {
	global $post;
	if ( '' == $text ) {
		$text = get_the_content('');
		$text = apply_filters('the_content', $text);
		$text = str_replace(']]>', ']]>', $text);
		$text = strip_tags($text, '<p><img>');
		$excerpt_length = 80;
		$words = explode(' ', $text, $excerpt_length + 1);
		if (count($words)> $excerpt_length) {
			array_pop($words);
			array_push($words, '[...]');
			$text = implode(' ', $words);
		}
	}
	return $text;

Incremento del numero massimo di parole

Basta modificare il valore numerico di questa linea di codice nel corpo della funzione:

$excerpt_length = 80;

In questo modo abbiamo incrementato tale valore a 80 parole massimo.

Includere tag HTML

L’idea è di includere tag come “p” per la formattazione e “img” per visualizzare le immagini . La linea di codice da modificare è la seguente:

$text = strip_tags($text, '<p><img>');

E’ possibile inserire ogni tipo di tag HTML nell’ elenco dei tag nella chiamata della funizione strip_tags().

L’ultima operazione da fare è di dire a WordPress di utilizzare questa funzione modificata e non quella originale del core, anche in questo caso il compito è semplice basta inserire nella parte finale del file functions.php del nostro tema le seguenti righe di codice:

remove_filter('get_the_excerpt', 'wp_trim_excerpt');
add_filter('get_the_excerpt', 'improved_trim_excerpt');

Il gioco è fatto! Adesso siamo pronti per i nostri sommari!

Categories: PHP, Wordpress Etichette: ,

Gestire utenti in WordPress tramite PHP

agosto 24, 2009 Lascia un commento

Il modo più semplice per gestire gli utenti su piattaforma WordPress agendo direttamente sul codice PHP è il seguente:

global $userdata;
get_currentuserinfo();
$username = $userdata->user_login;

in questo modo nella variabile $userdata sarà presente lo username dell’ utente connesso in quel momento.

Per conoscere invece, le informazioni relative ad un determinato utente identificato tramite il proprio ID,  bisogna richiamare la funzione:

 $userdata = get_userdata( $userID );

In realtà, in entrambi i casi nell’ array $userdata sono presenti diverse informazioni come:

Nome:  $userdata->first_name;
Cognome:  $userdata->last_name;
Livello:  $userdata->user_level;
ID:  $userdata->ID;
Categories: PHP, Wordpress Etichette: ,

Acajoom , "IL" componente per le Newsletter

aprile 28, 2009 Lascia un commento

Se quello che vi serve è inserire nel vostro sito Joomla-based , acajoomlogoun componente per la gestione delle Newsletter, allora vi segnalo Acajoom. iJoobi , azienda produttrice del prodotto , offre una versione completamente gratuita denominata “Acajoom News” , ma non per questo incompleta o poco soddisfacente..tutt’altro!!

Dopo aver installato il componente utilizzando l’ installer predefinito di Joomla , accedendo al menu dei componenti e selezionando Acajoom tra le voci disponibili , si apre il pannello di controllo del componente. Qui sarà possibile utilizzare le funzionalità relative alle varie liste di Newsletter da creare , modificare o eliminare. E’ inoltre possibile prevedere diverse pubblicazioni di una certa lista, magari creando pubblicazioni giornaliere o mensili ad esempio.

-> Creazione Nuova Lista

Premendo dal pannello di controllo il bottone relativo alla “Gestione Liste” , si presenterà una schermata in cui è presentato l’ elenco delle liste già presenti. Per creare una nuova lista ,è sufficiente premere il bottone sulla toolbar del componente con etichetta “Nuovo” . A questo punto verranno presentate tre tab .

Creazione ListaLa prima tab si riferisce alla “Descrizione” della lista , qui è possibile definire il nome della lista e inserire una descrizione della stessa, potendovi inserire anche immagini o anche contenuti multimediali quali animazioni flash. La tab successiva si riferisce al “Template” della lista , si tratta dello scheletro della lista in cui è possibile successivamente inserire i contenuti da pubblicare nella Newsletter. Il template può essere anche inserito direttamente tramite codice html premendo il pulsante nel Editor: “HTML” . Infine l’ ultima tab è relativa all’ “Iscrizione“, in cui è possibile inserire il template relativo al messaggio di conferma di rimozione dal servizio che viene inoltrato agli utenti quando lo richiedono. Una volta settate tutti i parametri definiti in queste tre tab , per salvare la nuova lista , basta premere sul bottone della toolbar “Salva” .

Nel prossimo post passeremo a creare la prima Newsletter relativa a questa Lista appena creata.

Categories: Joomla! Etichette: ,

Installazione di Joomla 1.5 in locale

aprile 26, 2009 Lascia un commento

Il principale vantaggio di installare ed utilizzare Joomla! in locale consiste nel poter apportare modifiche alla nostra applicazione web in maniera immediata, sia grazie ai minimi tempi di risposta , sia nel non essere constretti a fare l’upload continuo dei file di volta in volta modificati.

20-xampp-logo-trio1

Il primo passo da seguire è quello di preparare l’ enviroment relativo al web server che dovrà ospitare Joomla! Personalmente consiglio Xampp.  Si tratta di una distribuzione Apache Software Foundation che contiene MySql , PHP e Perl, caratterizzata da un’ elevata semplicità di installazione. L’ applicazione è disponibile all’indirizzo: http://www.apachefriends.org/it/xampp.html . Finito il processo di installazione, il pannelllo di configurazione del nostro server sarà accessibile all’ indirizzo localhost o 127.0.0.1

E’ arrivato il momento di scaricare il CMS e montarlo sul server. Il sito da cui reperire Joomla! alla sua versione più aggiornata è http://download.joomla.it . Scarichiamo e successivamente decomprimiamo il pachage di installazione nella cartella ../xampp/htdocs/Joomla .

Un primo requisito che deve essere soddisfatto per poter installare il CMS è quello di avere a disposizione un database MySql attivo. Quindi, per creare un nuovo database, accediamo tramite browser all’indirizzo http:/localhost , e selezioniamo la voce PhpMyAdmin. Tale database sarà quello di riferimento per la nostra installazione di Joomla! quindi è importante prederne nota del nome. Nel nostro esempio scegliamo joomladb come nome. Bisogna anche definire un utente con pieni provilegi nell’utilizzo del database, quindi dal menù Privilegi , creiamo l’utente di riferimento “joomlauser” con password “joomlapass” .

Arrivati a questo punto, ci basta accedere all’indirizzo http://localhost/joomla per avviare il prcesso di installazione vera e propria del cms. Il menu di installazione è decisamente autoesplicativo, si passa per una serie di fasi:

1. Selezione lingua.

2. Controlli preistallazione.

3. Contratto di licenza.

4. Configurazione database:  Bisogna scegliere MySQL dal menu a tendina, come Nome host: localhost, come Nome utente: joomlauser , come Password: joomlapass e come nome database: joomladb. In altre parole sono i dati precedentemente inseriti attraverso l’interfaccia di phpMyAdmin.

5. Configurazione ftp, non necessaria, lasciamo “no” e proseguiamo

6. Configurazione principale: si inserisce il nome del sito, la nostra e-mail e la password, confermandola una seconda volta. E’ possibile installare dei dati di esempio, che risultano utili per le persone che si avvicinano al “mondo” Joomla! quindi clicchiamo sul relativo bottone per poi proseguire con l’ installazione.

7. Installazione completata! E’ necessario rimuovere (o rinominare) la cartella “installation” che troviamo all’interno di htdocs/joomla. In questo modo, il prossimo accesso all’ indirizzo http://localhost/joomla ci presenterà la homepage del nostro sito Joomla!(frontend)

Nel prossimo post accederemo al lato backend di Joomla! dove tra le tante cose sarà possibile installare Moduli , Componenti e Plugin.

Categories: Joomla! Etichette: , ,
Iscriviti

Get every new post delivered to your Inbox.