Wordpress
Come caricare file RAR su WordPress
by gurucoder on Jan.03, 2010, under PHP, Wordpress
Da quando sto utilizzando WordPress in modo self-hosted, quindi su un mio dominio , ho riscontrato una limitazione relativa all’ impossibilità di effettuare l’ upload sul mio blog di alcuni tipi di file . Dopo un pò di ricerche sono arrivato alla soluzione cercata.
Il modo per riuscire ad avere l’autorizzazione ad effettuare l’upload di un certo tipo di file sul blog , dipende dalla funzione get_allowed_mime_types() che si trova nella cartella in wp-includes del file functions.php. La funzione presenta un array in cui sono pesenti tutti i tipi di file che è possibile caricare sul blog con la relativa tipologia MIME.
Di default WordPress non permette ad esempio, l’upload di archivi RAR, presentando l’errore: “ Il tipo di file non rientra nei limiti imposti dai criteri di sicurezza. Provane un altro. ” . Per poter effettuare questa operazione basta modificare tale funzione aggiungendo questa entry all’ array, circa alla riga numero 2319 :
'rar' => 'application/octet-stream',
Dopo avere effettuato il salvataggio del file e l’ upload sul server ecco il risultato:

Infine per i meno smaliziati ecco il file modificato functions.php che permette anche l’ upload di file .php sul blog.
Creare Widget per visualizzare i Post Correlati in WordPress
by gurucoder on Jan.03, 2010, under Wordpress
Questo post ha l’obbiettivo di illustrare come implementare un Widget WordPress per visualizzare sulla sidebar, gli argomenti correlati ad un certo post che si sta visualizzando. Prima di entrare nel dettaglio, se siete alle prime armi con la realizzazione di Widgets, vi consiglio di dare uno sguardo al post: “Creare il primo Widget per WordPress“.
Vi consiglio prima di tutto di scaricare il widget tramite Questo Link e di installarlo per testarne la funzionalità.
L’ idea alla base è quella di modificare la query di selezione dei post da visualizzare, in base alle impostazioni inserite lato amministrazione.
Analiziamo alcuni rami di codice estratti dalla funzione “widget()”.
...
global $post;
$category = get_the_category($post->ID);
$cat = $category[0]->cat_ID;
$numPosts = $instance['numPosts'];
$searchCategory = isset( $instance['searchCategory']) ? $instance['searchCategory'] : false;
$orderRandom = isset( $instance['orderRandom']) ? $instance['orderRandom'] : false;
$query1 = "numberposts=$numPosts";
if( $searchCategory ){
$query = $query1 . '&category=' . $cat .'&exclude=' . $post->ID ;
}if( $orderRandom ){
$queryRandom = $query1 . '&orderby=rand';
}
...
Come si può osservare da questo frammento di codice, la query di selezione è costituita da una parte fissa che imposta il numro massimo di post da visualizzare ($query1) e da una parte variabile che dipende dai valori delle variabili $instance['orderRandom'] e $instance['searchCategory'] che sono i valori impostati lato amministrazione. Tali variabili si riferiscono rispettivamente ad effettuare una query in base alla categoria del post corrente oppure effettuare una query random sui vari post disponibili. Chiaramente i due criteri possono coesistere.
Il prossimo frammento di codice si riferisce alla visualizzazione del risultato della query scelta in base ai criteri di selezione precedenti.
...
if ( is_single() and $searchCategory ) {
$myposts = get_posts($query);?>
<? foreach($myposts as $post) :
setup_postdata($post); ?>
<a href="<? echo the_permalink(); ?>">
<? echo the_title(); ?></a>
<? endforeach; ?>
<? }
if( $orderRandom ) {
$myposts = get_posts($queryRandom);?>
<? foreach($myposts as $post) :
setup_postdata($post); ?>
<a href="<? echo the_permalink(); ?>">
<? echo the_title(); ?></a>
<? endforeach; ?>
<? }
...
Per default quindi il widget permetterà di visualizzare un certo numero di post che appartengano alla stessa categoria del post corrente. Chiaramente nella lista non apparirà il link al post viualizzato perchè sarebbe ridondante. Il filtraggio dei post da visualizzare viene effettuato nell’ impostazione della query:
$query = $query1 . '&category=' . $cat .'&exclude=' . $post->ID ;
in cui il parametro category viene impostato alla categoria del post visualizzato, il parametro exclude viene impostato invece all’ identificativo del post correntemente visualizzato in modo da escluderlo dal risultato della query.
Infine, se nel form di amministrazione del widget viene selezionata l’opzione “Random Search” , la variabile $instance['orderRandom'] verrà valorizzata a true, coò comporterà che anche la variabile $orderRandom verrà impostata a true tramite la chiamata della funzione isset( $instance['orderRandom']) ? $instance['orderRandom'] : false;. Questo comporta l’ingresso nel ramo if( $orderRandom ) .... { e quindi la visualizzazione dei post a random sulla sidebar. Il numero di post da visualizzare viene impostata dalla variabile $numPosts.
Spero che sia tutto chiaro se ci sono problemi o bug non esitate a contattarmi!
Topsy, il motore di ricerca dei Tweets
by gurucoder on Jan.02, 2010, under News, Wordpress
Mi sono imbattuto in questo utilizzo servizio web quasi per caso, ma Topsy mi ha subito conquistato per la genialità dell’ idea. Seguendo lo slogan più che autoeplicativo, si tratta a tutti gli effetti di un motore di ricerca che agisce solo ed esclusivamente sulle informazioni estratte dai Tweets.
Tra le tante funzionalità, balza agli occhi la possibilità di integrarlo all’interno di WordPress tramite un widget scaricabile da qui .
Il Widget in questione offre tra le tante funzionalità:
- Un bottone ” Twitter retweet” che presenta il numero di tweets e permette di effettuare il retweet.
- URL shortening automatico del post tramite servizi di bit.ly, tr.im, and altri .
- Opzione per aggiungere tweets come commenti o trackback.
Per quanto riguarda il “Retweets Button” , si tratta di elemento altamente customizzabile già dalle impostatzioni lato ammministrazione del widget, aggiungendo del codice CSS sotto la voce “Additional CSS”. E’ possibile impostare il posizionamento nelle varie pagine del vostro blog dalla homapage alla lista delle categorie. E’ possibile anche visualizzarlo nel singolo post. Inoltre si può scegliere tra tre layout differenti presentati in figura.
Inserire il proprio stato Twitter in WordPress
by gurucoder on Sep.28, 2009, under PHP, Wordpress
Una funzionalità che va molto di moda nei siti attuali, è la visualzzazione dello stato del proprio account Twitter. Esistono molti modi per realizzarlo, molti dei quali fanno uso di un numero non indifferente di funzioni in php, lo script che vi pesento invece, si basa su un idea molto semplice e di altrettanto semplice realizzazione: estrare l’informazione del proprio stato da un feed rss pubblicato direttamente di Twitter.
Twitter infatti permette l’ estrazione della stato di un certo utente tramite l’ url:
http://search.twitter.com/search.atom?q=from:" . $username . "&rpp=1
dove la variabile $username chiaramente contiene il nome dell’ utente twitter di cui si vuole visualizzare l’ ultimo tweet pubblicato.
Di seguito vi presento il codice che serve al nostro scopo:
include_once(ABSPATH.WPINC.'/rss.php');
$username = "superbre"; // Your twitter username.
$tweet = fetch_rss("http://search.twitter.com/search.atom?q=from:" . $username . "&rpp=1");
$res2 = $tweet->items[0]['atom_content'];
Osservando il codice, si osserva la chiamata alla funzione fetch_rss(). Si tratta del parser RSS utilizzato da WordPress per default. Unica pecca di questo metodo è che tale parser effettua il controllo dell’ rss ogni ora, quindi se avete necessità che l’aggiornamento avvenga più di recente, oppure se siete soliti aggiornarlo molte volte in un ‘ ora, purtoppo questo semplicissimo metodo non fa per voi.
E’ comunque un difetto irrilevante se paragonato all’ estrema semplicità della soluzione. Inutile dire che è anche il metodo che ho utilizzato io per visualizzare il mio stato di twitter nel footer di questo tema.
Yourls , Inserire Url Shortener in WordPress
by gurucoder on Sep.26, 2009, under News, Wordpress
Navigando per la rete si può osservare il continuo dilagare dei cosidetti Shortener Url, si tratta di URL a pagine pubblicate in internet con una caretteristica molto particolare… sono molto più brevi delle reali URL relative alle risorse a cui puntano. Tale abbassamento della lunghezza , talvolta può anche superare un fattore del 30%. Ad esempio, mentre la URL reale a questo post è: http://www.gurucoder.org/inserire-un-url-shortener-in-wordpress ; la sua versione ridotta sarà: http://is.gd/3HDhF . Con un evidente risparmio nel numero di caratteri. Uno dei vantaggi nell’ utilizzo di servizi che offrono un conversione e compattazione delle URL ,risiede sicuramente nella promozione di post su Twitter , in cui il numrero di caratteri disponibili è molto limitato per singolo tweet.
In pochissimo tempo il numero di servizi che offrono un “accorciamento delle URL” è aumentato esponenzilamente ,tra i più famosi spiccano: TinyURL, tr.im, is.gd e bit.ly
Vi segnalo un utile plugin per WordPress chiamato YOURLS . In effetti , oltre al plugin che permette di ottenere lo shortener Url da uno dei servizi che ho elencato prima, Yourls dà anche la possibilità di prelevarlo da una propria istanza di YOURLS che viene messa in esecuzione sul proprio server. Di fatto quindi, saremo noi stessi a creare la versione accorciata delle URL a nostro piacimento. Il plugin è scaricabile da questo indirizzo.
Dopo la fase di installazione e l’attivazione del plugin, basterà andare nella sezione di impostazioni per scegliere quale servizio utilizzare per la conversione delle URL. Da notare inoltre la possibilità di “twittare” il nostro post su Twitter direttamente dalla pagina di creazione del post in WordPress inserendo proprio lo shortener url nel tweet, come presentato in figura.






