<?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>itcoffee.net &#187; ShortCode</title>
	<atom:link href="http://www.itcoffee.net/tag/shortcode/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.itcoffee.net</link>
	<description>Assaporare l'alfa, sorseggiando l'omega..</description>
	<lastBuildDate>Sun, 07 Feb 2010 16:36:38 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Shortcode: il tuo plugin in poche mosse</title>
		<link>http://www.itcoffee.net/2008/04/07/shortcode-il-tuo-plugin-in-poche-mosse/</link>
		<comments>http://www.itcoffee.net/2008/04/07/shortcode-il-tuo-plugin-in-poche-mosse/#comments</comments>
		<pubDate>Mon, 07 Apr 2008 08:49:56 +0000</pubDate>
		<dc:creator>Alberto</dc:creator>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[Plugin]]></category>
		<category><![CDATA[ShortCode]]></category>

		<guid isPermaLink="false">http://www.itcoffee.net/?p=20</guid>
		<description><![CDATA[La nuova funzionalità ShortCode delle API di Wordpress permette di sostituire le espressioni regolari per i plugin con semplici funzioni: ecco come fare!]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">Vi siete mai trovati a dover scrivere un plugin per wordpress che trasformi qualcosa nel vostro articolo in qualcos&#8217;altro? Vi faccio un esempio:<br />
<div class="codestyle"><pre><code><strong>[mia-sezione background="red"]</strong>Questa parte di testo avrà il background rosso<strong>[/mia-sezione]</strong></code></pre></div></p>
<p style="text-align: left;">in -&gt;<br />
<div class="codestyle"><pre><code><strong>&lt;span style=&#8221;background:red;&#8221;&gt;</strong>Questa parte di testo avrà il background rosso<strong>&lt;/span&gt;</strong></code></pre></div></p>
<p style="text-align: center;"><a href="http://www.itcoffee.net/wp-content/uploads/2008/04/wordpress-org.jpg" rel="lightbox[20]"><img class="alignnone size-full wp-image-6" title="wordpress-org" src="http://www.itcoffee.net/wp-content/uploads/2008/04/wordpress-org.jpg" alt="Wordpress.org" width="319" height="82" /></a></p>
<p style="text-align: left;">Ebbene i nostri amici di <strong>Wordpress (con la versione 2.5)</strong> ci risparmiano la scrittura di <a title="Espressioni Regolari" href="http://it.wikipedia.org/wiki/Espressione_regolare" target="_blank">espressioni regolari</a> e inseriscono una nuova funzione che fa tutto per noi e ci aiuta nella scrittura dei nostri plugin!</p>
<p style="text-align: left;">Vediamo in breve come riprodurre l&#8217;esempio fatto sopra..</p>
<p style="text-align: left;"><span id="more-20"></span></p>
<p style="text-align: left;">Cominciamo con lo scrivere una funzione che converta il contenuto del nostro &#8220;tag-personale&#8221; nel contenuto finale. Alla funzione verranno passati <strong>due </strong>valori:</p>
<ul>
<li>attributi: <a title="Array Associativo" href="http://it.wikipedia.org/wiki/Array_associativo" target="_blank">array associativo</a></li>
<li>contenuto: testo (stringa)</li>
</ul>
<p>Gli <strong>attributi </strong>sono i <strong>parametri chiave-&gt;valore</strong> del nostro tag, ad es: [mio-tag attributo1="valore1" attributo2="valore2"] che in PHP verranno memorizzati come $attributi['attributoX']=valoreX .</p>
<p>Il <strong>contenuto </strong>è la parte di testo contenuta tra il tag di apertura e chiusura. NB: il contenuto può anche essere vuoto quindi dobbiamo prevedere un comportamento di default. Nel nostro caso non faremo nulla se il contenuto è vuoto.</p>
<p>Vediamo quindi la nostra funzione:<br />
<div class="codestyle"><pre><code>function mia_sezione_shortcode( $attributi, $contenuto= null ) {<br />
if( !isset($attributi['background']) )<br />
$attributi['background']=&#8217;#0AA&#8217;;<br />
return &#8216;&lt;span style=&#8221;background:&#8217; . $attributi['background'] . &#8216;; &#8220;&gt;&#8217; . $contenuto . &#8216;&lt;/span&gt;&#8217;;;<br />
}</code></pre></div><br />
Se vogliamo dare la possibilità al contenuto di essere ulteriormente analizzato alla ricerca di shortcode sarà sufficiente scriverlo nel return nel seguente modo:</p>
<div class="codestyle"><pre><code>return &#8216;&lt;span style=&#8221;background:&#8217; . $attributi['background'] . &#8216;; &#8220;&gt;&#8217; . do_shortcode($contenuto) . &#8216;&lt;/span&gt;&#8217;;</code></pre></div>
<p style="text-align: left;">Fatto ciò non resta che registrare la nostra funzione come gestore di shortcode per il tag &#8220;mia-sezione&#8221;:</p>
<p style="text-align: left;"><div class="codestyle"><pre><code>add_shortcode(&#8217;mia-sezione&#8217;, &#8216;mia_sezione_shortcode&#8217;);</code></pre></div></p>
<p style="text-align: left;">Abbiamo finito! Ora possiamo sbizzarrirci a creare plugins senza rallentamenti e con molta comodità!</p>
<p style="text-align: left;">Vi allego qui il plugin fatto da me per creare le sezioni di codice che uso qui su itcoffee.net che può andare a sostituire il plugin <a title="Quickcode" href="http://blog.netnerds.net/quickcode/" target="_blank">Quickcode</a> nel caso non abbiate bisogno di quei &#8220;mostra/nascondi codice&#8221; che fornisce quel plugin.</p>
<p style="text-align: left;"><a href="http://www.itcoffee.net/wp-content/uploads/2008/04/codestyle.zip">codestyle.zip</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.itcoffee.net/2008/04/07/shortcode-il-tuo-plugin-in-poche-mosse/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
