ShortCode API

Publicado 12/07/2009 às 17:00 - 222 leitura(s) - Categoria(s): Tutoriais e Dicas -

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.

wp25 shortcode ShortCode API

BBCode

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:

[b]Este text en negrita[/b] ==> <strong>Este text en negrita</strong>

Partindo desta base podemos passar a definir que é ShortCode.

ShortCode

ShortCode API, é 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.

add_shortcode($tag, $function);

// [footag foo="bar"]
function footag_func($atts) {
return @"foo = {$atts['foo']}";
}
// My Caption
function caption_shortcode( $atts, $content = null ) {
extract( shortcode_atts( array(
'class' => 'caption',
), $atts ) );

return '<span class="' . attribtue_escape($caption) . '">' . $content . '</span>';
}

add_shortcode('caption', 'caption_shortcode');
add_shortcode('footag', 'footag_func');

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.

remove_shortcode($tag);

Função que nos permite eliminar o funcionamento de um shortcode, para isso indicaremos o tag que queremos eliminar das disponíveis.

remove_shortcode("caption"); // Eliminamos [/caption]

remove_all_shortcodes();

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.

remove_all_shortcodes(); // Todos los shortcodes eliminados

shortcode_atts($pairs, $atts);

Função que nos devolve um array de pares com os atributos padrão para nossos shortcodes.

$a = shortcode_atts( array(
'title' => 'My Title'
'foo' => 123,
), $atts );

do_shortcode($content);

Função que nos devolve o resultado da execução do texto com o shortcode substituído pela função.

do_shortcode('My Caption'); // <span class="headline">My Caption</span>

Onde pôr este código?

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 wp-includes/shortcodes.php. Nele não faz referência a nenhum arquivo externo, localizado numa rota algo mais pessoal como wp-content/.

Como quase todo o código de WordPress pode ser inserido em qualquer lugar e de qualquer forma:

  • Plugin
  • Theme (functions.php)
  • my-hacks.php

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.

 if ( file_exists(ABSPATH . 'wp-content/my-shortcodes.php') )
require_once (ABSPATH . 'wp-content/my-shortcodes.php');

Algo assim ao início do arquivo shorcodes.php? Desta forma dispomos de um arquivo externo que nos permite ter definidos nossos shortcodes independente de todas as futuras atualizações…

via anieto2k.com

Gosto desse post? então envie para seus amigos:
  • email
  • dihitt ShortCode API
  • Rec6
  • digacultura ShortCode API
  • linkk ShortCode API
  • Ueba
  • DoMelhor
  • Twitter
  • Facebook
  • LinkedIn
  • StumbleUpon
  • Netvibes
  • Technorati
  • Print

Deixe uma resposta

Nome: *


Sua Página:

Comentário *

Você pode usar estes atributos e tags HTML:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>