<?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>Ajuda WordPress &#187; shortcode api</title> <atom:link href="http://www.ajudawp.com/tag/shortcode-api/feed" rel="self" type="application/rss+xml" /><link>http://www.ajudawp.com</link> <description>Suporte para WordPress. Plugins, Temas, dicas de WordPress e muito mais para você que busca informação sobre este excelente CMS</description> <lastBuildDate>Thu, 02 Feb 2012 12:50:14 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.3.1</generator> <item><title>ShortCode API</title><link>http://www.ajudawp.com/tutorias-e-dicas/shortcode-api.html</link> <comments>http://www.ajudawp.com/tutorias-e-dicas/shortcode-api.html#comments</comments> <pubDate>Sun, 12 Jul 2009 15:00:19 +0000</pubDate> <dc:creator>Alyen</dc:creator> <category><![CDATA[Tutoriais e Dicas]]></category> <category><![CDATA[array class]]></category> <category><![CDATA[Experto]]></category> <category><![CDATA[hacks]]></category> <category><![CDATA[language php]]></category> <category><![CDATA[shortcode]]></category> <category><![CDATA[shortcode api]]></category> <category><![CDATA[tutorial]]></category> <category><![CDATA[wordpress]]></category><guid isPermaLink="false">http://www.ajudawp.com/?p=59</guid> <description><![CDATA[De entre todas as novidades de WordPress, ShortCode é uma das que menas importancia foi dada. E a verdade é que vale a pena perder um momento em explicar de que vai esta nova funcionalidade. BBCode Os usuários de foruns, conhecem o formato BBCode, aquele composto de tags envoltos por [], similar ao formato HTML. [...]]]></description> <content:encoded><![CDATA[<p>De entre todas as novidades de WordPress, <a href="http://codex.wordpress.org/Shortcode_API">ShortCode</a> é uma das que menas importancia foi dada. E a verdade é que vale a pena perder um momento em explicar de que vai esta nova funcionalidade.</p><p><img class="aligncenter size-full wp-image-60" title="wp25_shortcode" src="http://www.ajudawp.com/wp-content/uploads/2009/07/wp25_shortcode.png" alt="wp25 shortcode ShortCode API" width="450" height="336" /></p><h3>BBCode</h3><p>Os usuários de foruns, conhecem o formato BBCode, aquele composto de tags envoltos por [], similar ao formato HTML. Este formato está muito estendido em internet e é fácil de memorizar. Vejamos um exemplo:</p><pre class="brush: xml; title: ; notranslate">[b]Este text en negrita[/b] ==&gt; &lt;strong&gt;Este text en negrita&lt;/strong&gt;</pre><p>Partindo desta base podemos passar a  definir que é <strong>ShortCode</strong>.</p><h3>ShortCode</h3><p><strong>ShortCode API</strong>, é um conjunto de funções que permite definir nossos próprios tags BBCode para inserí-los dentro de nossos posts. A graça deste sistema é que podemos executar código PHP dentro do conteúdo de nossos posts. O que além de ser muito interessante, evidentemente é muito perigoso.</p><h4>add_shortcode($tag, $function);</h4><pre class="brush: php; title: ; notranslate">// [footag foo=&quot;bar&quot;]
function footag_func($atts) {
return @&quot;foo = {$atts['foo']}&quot;;
}
// My Caption
function caption_shortcode( $atts, $content = null ) {
extract( shortcode_atts( array(
'class' =&gt; 'caption',
), $atts ) );

return '&lt;span class=&quot;' . attribtue_escape($caption) . '&quot;&gt;' . $content . '&lt;/span&gt;';
}

add_shortcode('caption', 'caption_shortcode');
add_shortcode('footag', 'footag_func');
</pre><p>Se olhamos o código anterior, vemos que o tag BBCode se define mediante a função addshortcode(), encarregada de relacionar o tag com a função correspondente.</p><h4>remove_shortcode($tag);</h4><p>Função que nos permite eliminar o funcionamento de um shortcode, para isso indicaremos o tag que queremos eliminar das disponíveis.</p><pre class="brush: php; title: ; notranslate">remove_shortcode(&quot;caption&quot;); // Eliminamos [/caption]</pre><h4>remove_all_shortcodes();</h4><p>Se desejamos eliminar todos os shortcodes disponíveis em nosso WordPress, simplesmente temos que usar esta função e se encarregará de desativar a todos.</p><pre class="brush: php; title: ; notranslate">remove_all_shortcodes(); // Todos los shortcodes eliminados</pre><h4>shortcode_atts($pairs, $atts);</h4><p>Função que nos devolve um array de  pares com os atributos padrão para nossos shortcodes.</p><pre class="brush: php; title: ; notranslate">$a = shortcode_atts( array(
'title' =&gt; 'My Title'
'foo' =&gt; 123,
), $atts );
</pre><h4>do_shortcode($content);</h4><p>Função que nos devolve o resultado da execução do texto com o shortcode substituído pela função.</p><pre class="brush: php; title: ; notranslate">do_shortcode('My Caption'); // &lt;span class=&quot;headline&quot;&gt;My Caption&lt;/span&gt;</pre><h4>Onde pôr este código?</h4><p>WordPress não indica onde localizar o código correspondente aos shortcodes, mas o arquivo que estão definidas as funções que fazem possível o funcionamento, está localizado em <em><span style="text-decoration: underline;">wp-includes/shortcodes.php</span></em>. Nele não faz referência a nenhum arquivo externo, localizado numa rota algo mais pessoal como <em><span style="text-decoration: underline;">wp-content/</span></em>.</p><p>Como quase todo o código de  WordPress pode ser inserido em  qualquer lugar e de  qualquer forma:</p><ul><li>Plugin</li><li>Theme (functions.php)</li><li>my-hacks.php</li></ul><p>Mas talves a forma mais fácil seria ter sido adicionar um par de linhas e sacar do core de WordPress uma funcionalidade que permite tal nível de personalização.</p><pre class="brush: php; title: ; notranslate"> if ( file_exists(ABSPATH . 'wp-content/my-shortcodes.php') )
require_once (ABSPATH . 'wp-content/my-shortcodes.php');</pre><p>Algo assim ao início do arquivo <span style="text-decoration: underline;">shorcodes.php</span>? Desta forma dispomos de um arquivo externo que nos permite ter definidos nossos shortcodes independente de todas as futuras atualizações…</p><p>via <a href="http://www.anieto2k.com/2008/03/31/shortcode-api-otra-novedad-de-wordpress-25/" target="_blank">anieto2k.com</a></p> ]]></content:encoded> <wfw:commentRss>http://www.ajudawp.com/tutorias-e-dicas/shortcode-api.html/feed</wfw:commentRss> <slash:comments>0</slash:comments> </item> </channel> </rss>
<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: enhanced
Database Caching 4/18 queries in 0.007 seconds using disk: basic
Object Caching 354/379 objects using disk: basic

Served from: www.ajudawp.com @ 2012-02-08 15:55:41 -->
