Shortcodes para WordPress

Aprenda a criar Shortecode no WordPress

Você já chegou a pensar que o CMS WordPress é limitado para desenvolver sites, bem somos 2, e para ampliar os seus horizontes eu resolvi escrever sobre os shortcodes do WordPress.

O shortcode é uma funcionalidade que possibilita você desenvolvedor, criar estruturas de códigos,  e chamando essas estruturas num simples [ macro ]  dentro de um post.

O Código php é inserido no arquivo functions.php, nele você atribui a programação necessária para a estrutura que você quer dar ao seu post.

// Shortcode para inserir no post 
//[listar_posts category="11" limit="5"]
/*
* A Função vai receber os atributos
* no array $atts['category'=>"11", 'limit'=>"5"]
* Esse exemplo ele cria uma lista de post's
* dessa mesma categoria, dentro de outro post ou página
*/
function listar_post_func( $atts ) {
	extract( shortcode_atts( 
            array('category' => '','limit' => ''), $atts ) );
global $post; // pego os dados post ou da página acessada

echo '<ul>';
$args = array( 'numberposts' => $limit, 'category' => $category );
$myposts = get_posts( $args );
foreach( $myposts as $post ) :	setup_postdata($post); 
	echo '<li><a href="'.the_permalink().'">'.the_title().'</a></li>';
 endforeach; 
echo '</ul>';
}
// registrando o shortcode
add_shortcode( 'listar_post', 'listar_post_func' );

No exemplo acima eu mandei escrever o html direto, más poderia ser feito o armazenamento do html  numa variável , depois dando um return  $variavel;
A função add_shortcode () ela é usada para registrar o manipulador do shortcode podendo passar dois parâmetros:

  1. o nome shortcode (o texto usado em um corpo post),
  2. o nome da função manipulador.

A função de manipulador shortcode, no nosso exemplo listar_post_func() deve aceitar 1-3 argumentos:

  • $ Atts , um array associativo de atributos
  • $ Content , o conteúdo fechado (se o shortcode é usado em sua forma delimitador)
  • $ Code , o nome shortcode (somente quando ela corresponde ao nome de callback;)

Deixar um comentário

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Modificar )

Imagem do Twitter

You are commenting using your Twitter account. Log Out / Modificar )

Facebook photo

You are commenting using your Facebook account. Log Out / Modificar )

Connecting to %s