Como criar facilmente um shortcode no WordPress

Salve salve pessoal, hoje vou mostrar como criar facilmente um shortcode no Wordpress, você pode tanto incorporar ele em um plugin que explico neste post aqui (Assim, você terá um código modular, pode implementar ou remover facilmente), tanto implementar na sua functions.php

1 - O código abaixo


add_action( 'init', 'registrar_shortcode');


function propaganda_function($atts) {
  extract(shortcode_atts(array(
        'largura' => 'largura',
        'altura' => 'altura'
    ), $atts));

        $variavel = '<p>Propaganda do tamanho: largura:'.$largura;
        $variavel .=  ' e altura:'.$altura.'</p> ;

   return $variavel;
}


function registrar_shortcode(){
   add_shortcode('propaganda', 'propaganda_function');
}

O que ele está fazendo? Inserindo um parágrafo com o texto abaixo e esperando os atributos do shortcode para completar as variáveis: "Propaganda do tamanho: largura: {{$largura}} e altura: {{$altura}}"

Eu estou fazendo ele rodar no add_action, no "init" ou seja, antes de tudo, a função registrar_shortcode(), e nesta função estou criando o shortcode com o nome "propaganda" lá embaixo, e que ele toda vez que ele for chamado, deve rodar a função propaganda_function()

Lembrando que ao final da função da chamada não uso "echo" e sim "return", porque:

Se usar echo: ele vai inserir o código sempre após o the_content() inserindo pelo editor do WP

Se usar return: ele vai inserir o código exatamente no lugar que você inseriu dentro do the_content(), quando inserido pelo editor do WP

2 - A chamada

A chamada do shortcode criado acima é feita da seguinte forma:

[propaganda largura="990px" altura="100px"]

Considerando que colocamos o valor dos atributos "largura" como "990px" e "altura" como "100px".

Os atributos são passados na seguinte linha do código (Você pode colocar mais ou não passar nenhum atributo)

  extract(shortcode_atts(array(
        'largura' => 'largura',
        'altura' => 'altura'
    ), $atts));

3 - Tipos de chamada

Ou você pode chamar o shortcode pelo php usando a seguinte função WP do_shortcode()

echo do_shortcode('[propaganda largura="990px" altura="100px"]');

Ou você pode chamar o shortcode direto pelo editor de texto do Wordpress:

O último apaga a luz!

Leia também

Como criar um plugin simples no WordPress

Ferramenta: Gerador de números da Mega Sena

Ferramenta: Gerador de HTML para e-mail marketing