Para quem usa o WordPress, provavelmente sabe que os shortcodes são uma das funcionalidades mais interessantes do sistema, principalmente porque ajudam-no a poupar imenso tempo, e permitem-lhe chamar determinadas funcionalidades para dentro das páginas e artigos do seu blog. Os colegas do catswhocode andam normalmente sempre em cima das novidades, e deram-nos o mote para a publicação destes novos 10 shortcodes incrivelmente úteis para WordPress.

1. MOSTRAR UM SNAPSHOT DE QUALQUER SITE

Gostaria de conseguir mostrar um snapshot de qualquer site da internet, e mostrá-lo aos usuários do seu blog? Este shortcode fantástico permite-lhe fazer isso. Copie e cole o seguinte código para dentro do ficheiro functions.php do seu template:

function wpr_snap($atts, $content = null) {
        extract(shortcode_atts(array(
			"snap" => 'http://s.wordpress.com/mshots/v1/',
			"url" => 'http://www.escolawp.com',
			"alt" => 'My image',
			"w" => '400', // width
			"h" => '300' // height
        ), $atts));

	$img = '<img src="' . $snap . '' . urlencode($url) . '?w=' . $w . '&h=' . $h . '" alt="' . $alt . '"/>';
        return $img;
}

add_shortcode("snap", "wpr_snap");

Depois de guardar o ficheiro, poderá usar o shortcode, conform mostrado no exemplo em baixo. Ele irá mostrar um snapshot do blog EscolaWP.com no seu blog!

[snap url="http://www.escolawp.com" alt="My description" w="400" h="300"]

2. ADICIONAR FACILMENTE UM LINK DE DOAÇÃO PAYPAL

Muitos blogueiros hoje em dia procuram ajuda junto dos seus leitores através das doações do Paypal. O seguinte código cria um shortcode que irá mostrar um botão de doação Paypal no seu blog. Copie e cole o seguinte código para dentro do ficheiro functions.php do seu template:

function cwc_donate_shortcode( $atts ) {
    extract(shortcode_atts(array(
        'text' => 'Make a donation',
        'account' => 'REPLACE ME',
        'for' => '',
    ), $atts));

    global $post;

    if (!$for) $for = str_replace(" ","+",$post->post_title);

    return '<a class="donateLink" href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&business='.$account.'&item_name=Donation+for+'.$for.'">'.$text.'</a>';

}
add_shortcode('donate', 'cwc_donate_shortcode');

3. OFUSCAR ENDEREÇO DE EMAIL

Como a grande maioria de nós sabemos, os bots de spam estão constantemente escaneando a internet na procura de endereços de email para enviar spam. Obviamente, você não pretende receber spam, mas e se você necessitar de mostrar o seu endereço de email (ou de outra pessoa) no seu próprio blog? Este código irá criar um shortcode que irá ofuscar o seu endereço de email. Copie e cole o seguinte código no seu ficheiro functions.php do seu template.

function cwc_mail_shortcode( $atts , $content=null ) {
    for ($i = 0; $i < strlen($content); $i++) $encodedmail .= "&#" . ord($content[$i]) . ';';
    return '<a href="mailto:'.$encodedmail.'">'.$encodedmail.'</a>';
}
add_shortcode('mailto', 'cwc_mail_shortcode');

Depois disso, poderá usar o shortcode de uma forma bem simples:

[mailto]email@yourdomain.com[/mailto]

4. CRIAR CONTEÚDO PRIVADO

Se você pretende criar conteúdo privado que apenas os membros registrados do seu blog conseguem ler, o seguinte shortcode é a solução para o seu blog. Copie e cole o seguinte código no ficheiro functions.php do seu template:

function cwc_member_check_shortcode( $atts, $content = null ) {
	 if ( is_user_logged_in() && !is_null( $content ) && !is_feed() )
		return $content;
	return '';
}

add_shortcode( 'member', 'cwc_member_check_shortcode' );

Depois disso, utilize o shortcode da seguinte forma:

[member]Este texto será mostrado apenas a membros registrados.[/member]

5. EMBEBER UM PDF NUM IFRAME

Esta é de longe a forma mais fácil de embeber um ficheiro PDF no seu blog: O PDF é carregado a partir do Google docs e depois é mostrado num iframe, diretamente no seu blog.
Para criar este shortcode, copie e cole o seguinte código para dentro do ficheiro functions.php do seu template:

function cwc_viewpdf($attr, $url) {
    return '<iframe src="http://docs.google.com/viewer?url=' . $url . '&embedded=true" style="width:' .$attr['width']. '; height:' .$attr['height']. ';" frameborder="0">Your browser should support iFrame to view this PDF document</iframe>';
}
add_shortcode('embedpdf', 'cwc_viewpdf');

Depois, utilize a seguinte sintaxe para mostrar o PDF. Como pode ver, é possível definir a largura e altura, o que significa que este shortcode poderá ser facilmente ajustado às medidas do seu blog.

[embedpdf width="600px" height="500px"]http://infolab.stanford.edu/pub/papers/google.pdf[/embedpdf]

6. CONTEÚDO EXCLUSIVO PARA RSS FEED

Este shortcode permite-lhe criar conteúdo que apenas fica acessível no seu RSS feed. É bastante interessante para mostrar anúncios somente nos seus RSS Feeds, ou conteúdo exclusivo para os seus assinantes. Copie e cole o seguinte código para dentro do ficheiro functions.php:

function cwc_feedonly_shortcode( $atts, $content = null) {
	if (!is_feed()) return "";
	return $content;
}
add_shortcode('feedonly', 'cwc_feedonly_shortcode');

Depois, poderá usar o shortcode da seguinte forma:

[feedonly]Conteúdo exclusivo do RSS Feed![/feedonly]

7. BOTÃO DE RETWEET DO TWEETMEME

O Twitter é definitivamente uma grande fonte de tráfego para blogueiros. Por isso mesmo, o shortcode do botão “Retweet” que lhe indicamos agora é indispensável em seu blog. Copie e cole o seguinte código no seu ficheiro functions.php:

function tweetmeme(){
	return '<div class="tweetmeme"><script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js"></script></div>';
}
add_shortcode('tweet', 'tweetmeme');

Depois de realizado, poderá mostrar o botão de “retweet” em qualquer localização dentro dos seus artigos. No editor do WordPress, tenha a certeza de que está no modo HTML e insira o seguinte shortcode:

[tweet]

8. MOSTRAR ÚLTIMA IMAGEM ANEXADA AO ARTIGO

Ao invés de lidar com o URL da imagem, um simples shortcode pode ajudá-lo a mostrar a última imagem anexada a um determinado artigo. Copie e cole o seguinte código no ficheiro functions.php do seu template:

function cwc_postimage($atts, $content = null) {
	extract(shortcode_atts(array(
		"size" => 'thumbnail',
		"float" => 'none'
	), $atts));
	$images =& get_children( 'post_type=attachment&post_mime_type=image&post_parent=' . get_the_id() );
	foreach( $images as $imageID => $imagePost )
	$fullimage = wp_get_attachment_image($imageID, $size, false);
	$imagedata = wp_get_attachment_image_src($imageID, $size, false);
	$width = ($imagedata[1]+2);
	$height = ($imagedata[2]+2);
	return '<div class="postimage" style="width: '.$width.'px; height: '.$height.'px; float: '.$float.';">'.$fullimage.'</div>';
}
add_shortcode("postimage", "cwc_postimage");

Depois de guardar o ficheiro, poderá usar o shortcode da seguinte forma:

[postimage]

9. EMBEBER VÍDEOS DO YOUTUBE

Se costuma publicar regularmente vídeos do Youtube no seu blog, este shortcode irá ajudá-lo a poupar imenso tempo. Copie e cole o seguinte código no seu ficheiro functions.php:

function cwc_youtube($atts) {
	extract(shortcode_atts(array(
		"value" => 'http://',
		"width" => '475',
		"height" => '350',
		"name"=> 'movie',
		"allowFullScreen" => 'true',
		"allowScriptAccess"=>'always',
	), $atts));
	return '<object style="height: '.$height.'px; width: '.$width.'px"><param name="'.$name.'" value="'.$value.'"><param name="allowFullScreen" value="'.$allowFullScreen.'"></param><param name="allowScriptAccess" value="'.$allowScriptAccess.'"></param><embed src="'.$value.'" type="application/x-shockwave-flash" allowfullscreen="'.$allowFullScreen.'" allowScriptAccess="'.$allowScriptAccess.'" width="'.$width.'" height="'.$height.'"></embed></object>';
}
add_shortcode("youtube", "cwc_youtube");

Usar o shortcode é muito simples:

[youtube value="http://www.youtube.com/watch?v=1aBSPn2P9bg"]

10. EMBEBER UM RSS FEED

Este shortcode permite-lhe embeber um RSS feed dentro dos artigos do seu blog. É sem dúvida uma forma muito engraçada de mostrar outros blogs dentro de um artigo seu! Copie e cole o seguinte código no seu ficheiro functions.php:

include_once(ABSPATH.WPINC.'/rss.php');

function cwc_readRss($atts) {
    extract(shortcode_atts(array(
	"feed" => 'http://',
      "num" => '1',
    ), $atts));

    return wp_rss($feed, $num);
}

add_shortcode('rss', 'cwc_readRss');

Depois, poderá usar o shortcode da seguinte forma:

[rss feed="http://feeds.feedburner.com/wordpresslove" num="5"]

Até Já!