Os shortcodes do WordPress foram introduzidos na versão 2.5. Estes códigos são uma forma muito simples de ‘puxar’ a informação desejada, recorrendo a poucas linhas de código. Neste artigo, vou mostrar-lhe os 10 shortcodes mais incríveis para WordPress, que você poderá começar a utilizar imediatamente no seu blog!
01. Apresentar artigos relacionados
Os artigos relacionados são uma forma muito eficiente de manter os leitores por mais tempo no seu blog, ocupados com a visitação de novas páginas constantemente. Isso aumenta o número de páginas vistas gradualmente, ao mesmo tempo que aumenta o potencial de rentabilidade do seu blog. Existem dezenas de plugins para executar esta função, mas por que não utilizar um shortcode que o faça automaticamente?
function related_posts_shortcode( $atts ) {<br /> extract(shortcode_atts(array(<br /> 'limit' => '5,<br /> ), $atts));<br /><br /> global $wpdb, $post, $table_prefix;<br /><br /> if ($post->ID) {<br /> $retval = '<ul>';<br /> // Get tags<br /> $tags = wp_get_post_tags($post->ID);<br /> $tagsarray = array();<br /> foreach ($tags as $tag) {<br /> $tagsarray[] = $tag->term_id;<br /> }<br /> $tagslist = implode(',', $tagsarray);<br /><br /> // Do the query<br /> $q = "SELECT p.*, count(tr.object_id) as count<br /> FROM $wpdb->term_taxonomy AS tt, $wpdb->term_relationships AS tr, $wpdb->posts AS p WHERE tt.taxonomy ='post_tag' AND tt.term_taxonomy_id = tr.term_taxonomy_id AND tr.object_id = p.ID AND tt.term_id IN ($tagslist) AND p.ID != $post->ID<br /> AND p.post_status = 'publish'<br /> AND p.post_date_gmt < NOW()<br /> GROUP BY tr.object_id<br /> ORDER BY count DESC, p.post_date_gmt DESC<br /> LIMIT $limit;";<br /><br /> $related = $wpdb->get_results($q);<br /> if ( $related ) {<br /> foreach($related as $r) {<br /> $retval .= '<li><a title="'.wptexturize($r->post_title).'" href="'.get_permalink($r->ID).'">'.wptexturize($r->post_title).'</a></li>';<br /> }<br /> } else {<br /> $retval .= '<br /> <li>Nenhum artigo relacionado encontrado</li>';<br /> }<br /> $retval .= '</ul>';<br /> return $retval;<br /> }<br /> return;<br /> }<br /> add_shortcode('related_posts', 'related_posts_shortcode');Código de utilização:
[related_posts]02. Apresentar um gráfico Google
A Google Chart API é, provavelmente, a ferramenta mais interessante da internet para apresentar gráficos dinâmicos em páginas e blogs. Aqui fica um shortcode para tornar essa utilização ainda mais simples no seu blog WordPress:
function chart_shortcode( $atts ) {<br /> extract(shortcode_atts(array(<br /> 'data' => ",<br /> 'colors' => ",<br /> 'size' => '400×200,<br /> 'bg' => 'ffffff',<br /> 'title' => ",<br /> 'labels' => ",<br /> 'advanced' => ",<br /> 'type' => 'pie'<br /> ), $atts));<br /><br /> switch ($type) {<br /> case 'line' :<br /> $charttype = 'lc'; break;<br /> case 'xyline' :<br /> $charttype = 'lxy'; break;<br /> case 'sparkline' :<br /> $charttype = 'ls'; break;<br /> case 'meter' :<br /> $charttype = 'gom'; break;<br /> case 'scatter' :<br /> $charttype = 's'; break;<br /> case 'venn' :<br /> $charttype = 'v'; break;<br /> case 'pie' :<br /> $charttype = 'p3; break;<br /> case 'pie2d' :<br /> $charttype = 'p'; break;<br /> default :<br /> $charttype = $type;<br /> break;<br /> }<br /><br /> if ($title) $string .= '&chtt='.$title.";<br /> if ($labels) $string .= '&chl='.$labels.";<br /> if ($colors) $string .= '&chco='.$colors.";<br /> $string .= '&chs='.$size.";<br /> $string .= '&chd=t:'.$data.";<br /> $string .= '&chf='.$bg.";<br /><br /> return '<img title="'.$title.'" src="http://chart.apis.google.com/chart?cht='.$charttype.".$string.$advanced.'" alt="'.$title.'" />';<br /> }<br /> add_shortcode('chart', 'chart_shortcode');Código de utilização:
[chart data="41.52,37.79,20.67,0.03" bg="F7F9FA" labels="Reffering+sites|Search+Engines|Direct+traffic|Other" colors="058DC7,50B432,ED561B,EDEF00" size="488x200" title="Traffic Sources" type="pie"]03. Integrar anúncios no AdSense
O Adsense é, provavelmente, a forma mais simples e eficaz de rentabilizar um website ou um blog. Utilizando widgets, é relativamente simples colocar anúncios Adsense no seu blog. No entanto, a melhor forma de rentabilizar um blog é, seguramente, utilizando Adsense dentro dos seus posts. Este processo torna-se extremamente simples e mágico, recorrendo aos shortcodes para WordPress. Vejamos:
function showads() {<br /> return '<script type="text/javascript"><!<br /> google_ad_client = "pub-3637220125174754;<br /> google_ad_slot = "4668915978;<br /> google_ad_width = 468;<br /> google_ad_height = 60;<br /> //><br /> </script><br /> <script type="text/javascript"<br /> src="http://pagead2.googlesyndication.com/pagead/show_ads.js"><br /> </script><br /> ';<br /> }<br /><br /> add_shortcode('adsense', 'showads');Código de utilização:
[adsense] 04. Mostrar conteúdo privado para membros premium
Cada vez mais os blog e blogueiros adotam os chamados ‘conteúdos premium’, onde determinados grupos de usuários têm de pagar para ter acesso a conteúdos privilegiados. Sabe como apresentar conteúdos premium apenas para os seus ‘usuários premium’? Utilize este shortcode:
function access_check_shortcode( $attr, $content = null ) {<br /> extract( shortcode_atts( array( 'capability' => 'read' ), $attr ) );<br /> if ( current_user_can( $capability ) && !is_null( $content ) && !is_feed() )<br /> return $content;<br /><br /> return 'Desculpe, apenas membros registados podem ter acesso a estes conteúdos.';<br /> }<br /><br /> add_shortcode( 'access', 'access_check_shortcode' );Código de utilização:
[access capability="switch_themes"]05. Como integrar seus conteúdos de RSS feed
Entre outras coisas fantásticas, o WordPress tem um leitor de RSS Feeds integrado no seu código, que possibilita a leitura dos feeds no painel de controle do blog wordpress. No entanto, recorrendo a um shortcode, é possível colocar esses mesmos RSS Feeds onde você desejar, incluindo nos seus posts.
//This file is needed to be able to use the wp_rss() function.<br /> include_once(ABSPATH.WPINC.'/rss.php');<br /><br /> function readRss($atts) {<br /> extract(shortcode_atts(array(<br /> "feed" => 'http://',<br /> "num" => '1,<br /> ), $atts));<br /><br /> return wp_rss($feed, $num);<br /> }<br /><br /> add_shortcode('rss', 'readRss');Código de utilização:
[rss feed="http://feeds2.feedburner.com/wordpresslove" num="5"]06. Encurtar um endereço URL para o twitter
Uma das vantagens que o Twitter tem é de utilizar no seu código o core da TinyURL para encurtar os endereços URL presentes nos posts dos seus usuários. No entanto, é possível facilitar a vida dos leitores com um shortcut que faça isso automaticamente:
function subzane_shorturl($atts) {<br />extract(shortcode_atts(array(<br />'url' => ",<br />'name' => ",<br />), $atts));<br />$request = 'http://u.nu/unu-api-simple?url=' . urlencode($url);<br />$short_url = file_get_contents($request);<br />if (substr($short_url, 0, 4) == 'http') {<br />$name = empty($name)?$short_url:$name;<br />return '<a href="'.$short_url.'">'.$name.'</a>';<br />} else {<br />$name = empty($name)?$url:$name;<br />return '<a href="'.$url.'">'.$name.'</a>';<br />}<br />}<br />add_shortcode('shorturl', 'subzane_shorturl');Código de utilização:
[shorturl name="shortcode" url="http://codex.wordpress.org/Shortcode_API"]07. Apresente a última imagem anexada a um post
Em vez de utilizar custom fields ou endereços URL para puxar as imagens anexadas aos seus posts, por que não recorrer a um shortcode que o faça automaticamente?
function sc_postimage($atts, $content = null) {<br />extract(shortcode_atts(array(<br />"size" => 'thumbnail',<br />"float" => 'none'<br />), $atts));<br />$images =& get_children( 'post_type=attachment&post_mime_type=image&post_parent=' . get_the_id() );<br />foreach( $images as $imageID => $imagePost )<br />$fullimage = wp_get_attachment_image($imageID, $size, false);<br />$imagedata = wp_get_attachment_image_src($imageID, $size, false);<br />$width = ($imagedata[1]+2);<br />$height = ($imagedata[2]+2);<br />return '<div class="postimage" style="width: '.$width.'px; height: '.$height.'px; float: '.$float.';">'.$fullimage.'</div>';<br />}<br />add_shortcode("postimage", "sc_postimage");Código de utilização:
[postimage]8. Adicione notas administrativas aos seus posts
Quando se trabalha com blogs multi-editor, é extremamente importante notificar outros escritores de problemas que existam nos seus posts. E se pudesse adicionar notas a esses mesmos posts, que só pudessem ser lidas por outros administradores? Nada como usar um shortcode para resolver esse problema:
add_shortcode( 'note', 'sc_note' );<br />function sc_note( $atts, $content = null ) {<br />if ( current_user_can( 'publish_posts' ) )<br />return '<div class="note">'.$content.'</div>';<br />return ";<br />}Código de utilização:
[note]Esta é uma nota pessoal que só pode ser lida por administradores![/note]09. Remova a formatação automática do WordPress
Se você é um programador ou desenvolvedor, e costuma colocar porções de código no seu blog WordPress, provavelmente já reparou que a formatação automática do WordPress pode ser um verdadeiro problema. No entanto, existe um shortcode que o ajuda a resolver esse problema em determinadas porções de texto. Vejamos:
function my_formatter($content) {<br />$new_content = ";<br />$pattern_full = '{(\[raw\].*?\[/raw\])}is';<br />$pattern_contents = '{\[raw\](.*?)\[/raw\]}is';<br />$pieces = preg_split($pattern_full, $content, -1, PREG_SPLIT_DELIM_CAPTURE);<br /><br />foreach ($pieces as $piece) {<br />if (preg_match($pattern_contents, $piece, $matches)) {<br />$new_content .= $matches[1];<br />} else {<br />$new_content .= wptexturize(wpautop($piece));<br />}<br />}<br /><br />return $new_content;<br />}<br /><br />remove_filter('the_content', 'wpautop');<br />remove_filter('the_content', 'wptexturize');<br /><br />add_filter('the_content', 'my_formatter', 99);Código de utilização:
[raw]Esta porção de texto não será formatada automaticamente pelo WP.[/raw]10. Apresente as estatísticas do seu blog com shortcodes
Sempre gostou da possibilidade de mostrar as estatísticas do seu blog em tempo real? Graças ao Wesley e ao seu plugin “Blog Stats”, é possível apresentar de forma dinâmica, e através de shortcodes, todas as estatísticas do seu blog. Faça download do plugin Blog Stats e, depois de instalado, utilize os seguintes shortcodes:
[pagerank]<br />[feedburner_subscribers]<br />[alexa_rank]<br />[technorati_authority]<br />[technorati_rank]<br />[user_count]<br />[post_count]<br />[page_count]<br />[comment_count]<br />[trackback_count]<br />[avg_comments_per_post]<br />[category_count]<br />[tag_count]<br />[link_count]<br />[google_backlinks]<br />[yahoo_backlinks]<br />[delicious_bookmarks]Até a próxima!!







