10 novos shortcodes incrivelmente úteis para WordPress


Para quem usa o WordPress, provavelmente sabe que os shortcodes são uma das funcionalidades mais interessantes do sistema, principalmente porque ajudam a poupar muito tempo, e te permitem 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 nos deram 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 arquivo 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 salvar o arquivo você poderá usar o shortcode conforme mostrado no exemplo abaixo. 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 arquivo 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 e-mail



Como a grande maioria de nós sabemos, os bots de spam estão constantemente escaneando a internet na procura de endereços de e-mail para enviar spam. Obviamente, você não pretende receber spam, mas e se você necessitar de mostrar o seu endereço de e-mail (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 arquivo 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 arquivo 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 arquivo 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 arquivo 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 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 arquivo 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 arquivo 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 arquivo 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 salvar o arquivo, 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 arquivo 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 arquivo 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"]


É isso. Até o próximo!