<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>geekmylove.netsons.org &#187; blog</title>
	<atom:link href="http://geekmylove.netsons.org/tag/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://geekmylove.netsons.org</link>
	<description></description>
	<lastBuildDate>Fri, 13 Feb 2009 08:48:34 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>10 hack per Wordpress. (#1)</title>
		<link>http://geekmylove.netsons.org/2009/01/09/10-hack-per-wordpress-1/</link>
		<comments>http://geekmylove.netsons.org/2009/01/09/10-hack-per-wordpress-1/#comments</comments>
		<pubDate>Fri, 09 Jan 2009 11:05:15 +0000</pubDate>
		<dc:creator>sagremor78</dc:creator>
				<category><![CDATA[tips]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[google]]></category>

		<guid isPermaLink="false">http://geekmylove.netsons.org/?p=1200</guid>
		<description><![CDATA[


Il 2008 è stato un anno positivo per WordPress e la sua community. Con il rilascio della versione 2.7, ha ulteriormente rafforzato il suo predominio nei confronti dei suoi concorrenti, sopratutto su Blogger, piattaforma di blogging targata Google.
Ma c&#8217;è ancora molto che non si sa su questo fantastico strumento di blogging e la banda di [...]]]></description>
			<content:encoded><![CDATA[<p><script type="text/javascript"><!--
google_ad_client = "pub-4936617015906303";
/* 468x60 - tuttonero */
google_ad_slot = "5369665260";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p><p><img src="http://geekmylove.netsons.org/wp-content/uploads/wp_logo.jpg" alt="wp_logo" title="wp_logo" width="150" height="150" class="alignleft" />Il 2008 è stato un anno positivo per <strong>WordPress</strong> e la sua community. Con il rilascio della versione 2.7, ha ulteriormente rafforzato il suo predominio nei confronti dei suoi concorrenti, sopratutto su <strong>Blogger</strong>, piattaforma di blogging targata <strong>Google</strong>.</p>
<p>Ma c&#8217;è ancora molto che non si sa su questo fantastico strumento di blogging e la banda di <strong>SmashingMagazine</strong>, ha avuto la brillante idea di segnalarci <strong>10 utilissimi hacks per sfruttare al meglio tutte le potenzialità di WordPress</strong>, il cms più usato al mondo.</p>
<p>Quelli che andrò a proporvi, sono solo una prima parte della <strong>lista di 10 hacks per WordPress</strong>. Nei prossimi giorni questa lista verrà completata, quindi vi consiglio di <a href="http://feeds.feedburner.com/GeekMyLove">abbonarvi al feed RSS del blog</a> per rimanere aggiornati sull&#8217;evolversi dell&#8217;articolo.</p>
<p>Per ogni &#8220;trucchetto&#8221;, viene prima descritto il problema e successivamente spiegata la soluzione. Mi raccomando, fatene buon uso. <img src='http://geekmylove.netsons.org/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p><span id="more-1200"></span></p>
<p>&nbsp;</p>
<h2><strong>1. Mostrare gli annunci </strong><strong>AdSense</strong> solo ai visitatori provenienti dai motori di ricerca.</h2>
<p><img src="http://geekmylove.netsons.org/wp-content/uploads/adsense.png" alt="adsense" title="adsense" width="400" height="164" class="alignnone size-full wp-image-1231" /></p>
<p><strong>Problema:</strong><br />
Chi utilizza <strong>AdSense</strong> sa benissimo che <strong>il click sull&#8217;annuncio proviene dal visitatore inesperto</strong>, che non riconosce un&#8217;annuncio pubblicitario e, in generale, non ha molta familiarità con il web. I frequentatori abituali del blog, invece, sanno come evitare la pubblicità e difficilmente cliccano su di essa.</p>
<p>Inoltre c&#8217;è anche da considerare lo &#8220;<strong>smart pricing</strong>&#8221; (prezzo particolarmente basso pagato per ogni click), il che significa avere un basso <strong>CTR</strong> (<em>click-through rate</em>) e bassi guadagni per ogni click ricevuto.</p>
<p><strong>Soluzione:</strong><br />
Inseriamo in un array i motori di ricerca che vogliamo considerare come referrer per la visualizzazione degli annunci <strong>AdSense</strong>:</p>
<p><strong>1.</strong> Aprite il file <em><strong>functions.php</strong></em> del vostro tema ed inserite queste righe di codice:<br />
[code='css']<br />
   function scratch99_fromasearchengine(){<br />
       $ref = $_SERVER['HTTP_REFERER'];<br />
       $SE = array('/search?', 'images.google.', 'web.info.com', 'search.', 'del.icio.us/search', 'soso.com', /search/', '.yahoo.');<br />
       foreach ($SE as $source) {<br />
       if (strpos($ref,$source)!==false) return true;<br />
       }<br />
       return false;<br />
}<br />
[/code]</p>
<p><strong>2.</strong> Una volta fatto ciò, copiate le seguenti righe di codice nella zona in cui volete visualizzare gli annunci <strong>AdSense</strong>, che saranno visibile solo ai visitatori provenienti dai motori di ricerca.<br />
[code='css']<br />
   if (function_exists('scratch99_fromasearchengine')) {<br />
   if (scratch99_fromasearchengine()) {<br />
   INSERT YOUR CODE HERE<br />
   }<br />
   }<br />
[/code]</p>
<p><strong>Spiegazione del codice:</strong><br />
Questo hack si verifica quando viene chiamata la funzione <strong><em>scratch99_fromasearchengine()</em></strong>. All&#8217;interno dell&#8217;array denominato <strong><em>$SE</em></strong>, sono specificati quali motori di ricerca volete considerare per la visualizzazione degli annunci. Se il visitatore proviene da uno dei motori inseriti nell&#8217;array, la funzione in esame ritornerà valore <em><strong>true</strong></em>.</p>
<p>&nbsp;</p>
<h2><strong>2. Evitare post duplicati dovuti a cicli multipli.</strong></h2>
<p><img src="http://geekmylove.netsons.org/wp-content/uploads/php-code.jpg" alt="php-code" title="php-code" width="400" height="174" class="alignnone size-full wp-image-1237" /></p>
<p><strong>Problema:</strong><br />
Spesso si ha l&#8217;esigenza di inserire i post in zone diverse della homepage del proprio blog. come fare quindi per evitare che più cicli di inserimento dei post provochino la loro duplicazione?</p>
<p><strong>Soluzione:</strong><br />
Grazie alla potenza dell&#8217;array possiamo verificare la presenza o meno del post ed evitare che venga inserito.</p>
<p><strong>1.</strong> Cominciamo con la creazione dell&#8217;array che farà da contenitore di tutti i post presenti nel blog.</p>
<p>[code='css']</p>
<h2>Loop n°1</h2>
<p>< ?php<br />
$ids = array();<br />
while (have_posts()) : the_post();<br />
the_title();<br />
?><br />
<br />
< ?php $ids[]= $post->ID;<br />
endwhile; ?><br />
[/code]</p>
<p><strong>2.</strong> Adesso il secondo giro: verifichiamo con la funzione <em><strong>in_array()</strong></em>, la presenza o meno dell&#8217;ID del post. Se non è presente nell&#8217;array riempito al primo giro, vuol dire che non è stato inserito nella pagina.</p>
<p>[code='css']</p>
<h2>Loop n°2</h2>
<p>< ?php<br />
query_posts("showposts=50");<br />
while (have_posts()) : the_post();<br />
if (!in_array($post->ID, $ids)) {<br />
  the_title();?><br />
<br />
< ?php }<br />
endwhile; ?><br />
[/code]</p>
<p><strong>Spiegazione del codice:</strong><br />
Quando il primo giro viene eseguito, tutti gli ID dei post esistenti vengonn inserito all&#8217;interno dell&#8217;array. Nel secondo giro, viene verificato se il post corrente è già visualizzato nella pagina, in caso contrario verrà reso visibile.</p>
<p>&nbsp;</p>
<h2><strong>3. Sostituire &#8220;Next&#8221; e &#8220;Prev&#8221; con una paginazione personalizzata.</strong></h2>
<p><img src="http://geekmylove.netsons.org/wp-content/uploads/next-prev.png" alt="next-prev" title="next-prev" width="390" height="168" class="alignnone size-full wp-image-1248" /></p>
<p><strong>Problema:</strong><br />
<strong>WordPress</strong>, di default, inserisce i link &#8220;<strong><em>Next</em></strong>&#8221; e &#8220;<em><strong>Prev</strong></em>&#8221; per permettere all&#8217;utente di navigare tra un post e l&#8217;altro. Certo meglio che niente, ma in rete <strong>si trovano diversi plugin che personalizzano questo tipo di navigazione</strong> visualizzando al posto dei link la paginazione. Come realizzare ciò nel nostro tema?</p>
<p><strong>Soluzione:</strong><br />
Per attivare questo hack, useremo il plugin <strong>WP-PageNavi</strong> e lo inseriremo direttamente nel nostro tema.</p>
<p><strong>1.</strong> Per prima cosa, <a href="http://www.wordpress.org/extend/plugins/wp-pagenavi/">scarichiamo il plugin</a>.</p>
<p><strong>2.</strong> Scompattiamo il .zip e carichiamo sul nostro server sia <em><strong>wp-pagenavi.php</strong></em> che <em><strong>wp-pagenavi.css</strong></em> ed attiviamo il plugin.</p>
<p><strong>3.</strong> Apriamo i file in cui vogliamo inserire la paginazione (<em>index.php, categories.php, search.php, etc.</em>) e troviamo il seguente codice:<br />
[code='css']</p>
<div class="navigation">
<div class="alignleft">< ?php next_posts_link('Previous entries')?>
</div>
<div class="alignright">< ?php previous_posts_link('Next entries')?>
</div>
</div>
<p>[/code]</p>
<p>Sostituiamo questa parte di codice con quello seguente:<br />
[code='css']<br />
< ?php<br />
include('wp-pagenavi.php');<br />
if(function_exists('wp_pagenavi')) { wp_pagenavi(); }<br />
?><br />
[/code]</p>
<p><strong>4.</strong> Una volta inserito il plugin nelle nostre pagine, dovremo &#8220;truccare&#8221; il nostro plugin. Per fare questo apriamo il file <em><strong>wp-pagenavi.php</strong></em> e andiamo alla riga #61 dove troveremo questo codice:</p>
<p>[code='css']<br />
function wp_pagenavi($before = '', $after = '') {<br />
        global $wpdb, $wp_query;<br />
[/code]</p>
<p>Dentro <em><strong>wp_pagenavi()</strong></em> aggiungeremo la chiamata alla funzione <em><strong>pagenavi_init()</strong></em>, in questo modo:</p>
<p>[code='css']function wp_pagenavi($before = '', $after = '') {<br />
	global $wpdb, $wp_query;<br />
        pagenavi_init(); //Calling the pagenavi_init() function<br />
[/code]</p>
<p><strong>5.</strong> L&#8217;ultima cosa da fare è inserire il .css del nostro plugin all&#8217;interno del blog. Apriamo il file <em><strong>header.php</strong></em> e aggiungiamo questa riga di codice all&#8217;interno del tag <em>&#8220;&lt; head &gt;&#8221;</em>.</p>
<p>[code='css']
<link rel="stylesheet" href="< ?php echo TEMPLATEPATH.'/pagenavi.css';?>" type="text/css" media="screen"><br />
[/code]</p>
<p><strong>Spiegazione del codice:</strong><br />
Questo hack è molto semplice e facile da eseguire. Abbiamo semplicemente inserito la chiamata al plugin per la paginazione all&#8217;interno delle pagine che ci interessavano e assicurati che venisse tutto visualizzato correttamente, aggiungendo la chiamata alla <strong><em>pagenavi_init()</em></strong>.</p>
<p>&nbsp;</p>
<h2><strong>4. Recuperare automaticamente le immagini inserite nel post.</strong></h2>
<p><img src="http://geekmylove.netsons.org/wp-content/uploads/mix_gallery.jpg" alt="mix_gallery" title="mix_gallery" width="400" height="217" class="alignnone size-full wp-image-1250" /></p>
<p><strong>Problema:</strong><br />
Usare i campi personalizzati (<em><strong>custom fields</strong></em>) per associare le immagini al post non è una cattiva idea, ma per molti utenti di WordPress, nasce l&#8217;esigenza di trovare un modo per recuperare tutte le immagini che sono presenti all&#8217;interno dell&#8217;articolo.</p>
<p><strong>Soluzione:</strong><br />
Sfortunatamente non esistono plugin che ci possano aiutare, ma per risolvere il problema possiamo utilizzare un ciclo (<em><strong>loop</strong></em>) che prenda tutte le immagini contenute nel post e le mostri a video.</p>
<p><strong>1.</strong> Inserite il codice che segue in qualunque punto del vostro tema.</p>
<p>[code='css']<br />
< ?php if (have_posts()) : ?><br />
< ?php while (have_posts()) : the_post(); ?><br />
< ?php<br />
$szPostContent = $post->post_content;<br />
$szSearchPattern = '~<img [^\/>]*\ />~';<br />
// Run preg_match_all to grab all the images and save the results in $aPics<br />
preg_match_all( $szSearchPattern, $szPostContent, $aPics );<br />
// Check to see if we have at least 1 image<br />
$iNumberOfPics = count($aPics[0]);<br />
if ( $iNumberOfPics > 0 ) {<br />
     // Now here you would do whatever you need to do with the images<br />
     // For this example the images are just displayed<br />
     for ( $i=0; $i < $iNumberOfPics ; $i++ ) {<br />
          echo $aPics[0][$i];<br />
     };<br />
};<br />
endwhile;<br />
endif;<br />
?><br />
[/code]</p>
<p><strong>Spiegazione del codice:</strong><br />
Come avete visto, il codice è un semplice ciclo php che si usa solitamente in <strong>WordPress</strong>, con la sola differenza dell&#8217;utilizzo delle espressioni regolari (<em><strong>regular expressions</strong></em>) per la ricerca delle immagini all&#8217;interno dell&#8217;articolo e la loro visualizzazione.</p>
<p>&nbsp;</p>
<h2><strong>5. Creare un bottone &#8220;Condividi con Twitter&#8221;.</strong></h2>
<p><img src="http://geekmylove.netsons.org/wp-content/uploads/logo_twitter2.jpg" alt="logo_twitter2" title="logo_twitter2" width="400" height="108" class="alignnone size-full wp-image-1252" /></p>
<p><strong>Problema:</strong> Questo hack è dedicato a tutti quelli che usano Twitter e vorrebbero condividere con tutti i propri amici, il post appena pubblicato attraverso questo servizio.</p>
<p><strong>Soluzione:</strong><br />
Molto semplice, basta creare un link a Twitter, passandogli come parametro <strong><em>&#8220;status&#8221;</em></strong> il permalink dell&#8217;articolo.</p>
<p>[code='css']<br />
<a href="http://twitter.com/home?status=Currently reading < ?php the_permalink(); ?>" title="Condividi su Twitter!" target="_blank">Condividi su Twitter!</a><br />
[/code]</p>
<p>Semplice no?? In alternativa, è stato sviluppato anche un <a href="http://alexking.org/blog/2007/05/07/twitter-tools-10">plugin</a> che fa la stessa identica cosa.</p>
<p>Spero che questo articolo sia stato di vostro aiuto. Mi raccomando, <a href="http://feeds.feedburner.com/GeekMyLove">rimanete aggiornati</a> e <strong>non perdete gli articoli dei prossimi giorni in cui vi proporrò gli altri 5 hack per WordPress</strong> che andranno a completare quest&#8217;articolo.</p>
<p>Se avete dubbi e volete dei chiarimenti, lasciate pure i vostri commenti.</p>
<p>&nbsp;<br />
&nbsp;<br />
Fonte: <a href="http://www.smashingmagazine.com/2009/01/07/10-killer-wordpress-hacks/  ">SmashingMagazine</a><br />
Foto: <a href="http://justaddwater.dk/wp-content/uploads/2007/12/amazon-search-result-paging-all-states.png">JustAddWater</a>, <a href="http://tbn3.google.com/images?q=tbn:auTL8h0-sJMNuM:http://www.dolcevitaonline.it/foto/mix_gallery.jpg">dolcevitaonline</a>
</link>
]]></content:encoded>
			<wfw:commentRss>http://geekmylove.netsons.org/2009/01/09/10-hack-per-wordpress-1/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>
