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:
- o nome shortcode (o texto usado em um corpo post),
- 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;)
