Criando shortcodes com parâmetros no WordPress
Com a introdução dos shorcodes no WordPress, todos nós provavelmente os usamos em um momento ou outro. Eles costumam vir com plugins, ou mesmo temas, e o que eles fazem é observar quando você insere algo dentro de colchetes, em seguida, substitui isso por algum outro conteúdo; poderia ser uma frase simples ou uma enorme função PHP, tudo depende do que você instruiu o WordPress a fazer.
Os shortcodes são ótimos e aceleram consideravelmente as coisas, mas não seria ótimo saber como criá-los?
Neste artigo, eu vou levá-lo através da criação de alguns shortcodes simples WordPress para ajudá-lo a criar qualquer funcionalidade que você queira.
Um shortcode simples
A API de shortcode funciona de forma muito simples: primeiro você precisa criar uma função callback que será executada sempre que o shortcode for usado; então você precisa amarrar essa função a um shortcode específico. O código é freqüentemente colocado no arquivo functions.php, mas se você planeja ter muitos códigos curtos, faz sentido criar um arquivo separado e incluir esse arquivo em seu arquivo functions.php (usando a função include do PHP).
No nosso primeiro exemplo, vamos criar um código curto que crie algum lorem ipsum toda vez que digitar [lorem] no editor. Primeiro, precisamos criar a função callback que retornará o lorem ipsum (em shortcodes, não fazemos “echo” de nada, tudo é “return”):
function lorem_function() {
return 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec nec nulla vitae lacus mattis volutpat eu at sapien. Nunc interdum congue libero, quis laoreet elit sagittis ut. Pellentesque lacus erat, dictum condimentum pharetra vel, malesuada volutpat risus. Nunc sit amet risus dolor. Etiam posuere tellus nisl. Integer lorem ligula, tempor eu laoreet ac, eleifend quis diam. Proin cursus, nibh eu vehicula varius, lacus elit eleifend elit, eget commodo ante felis at neque. Integer sit amet justo sed elit porta convallis a at metus. Suspendisse molestie turpis pulvinar nisl tincidunt quis fringilla enim lobortis. Curabitur placerat quam ac sem venenatis blandit. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nullam sed ligula nisl. Nam ullamcorper elit id magna hendrerit sit amet dignissim elit sodales. Aenean accumsan consectetur rutrum.';
}
Em seguida, precisamos adicionar este shortcode ao WordPress usando a função add_shortcode em nosso arquivo functions.php (ou em um arquivo que está sendo incluído), esta função adiciona o shortcode e também o vincula à função que acabamos de criar. add_shortcode requer apenas dois argumentos, sendo o primeiro o nome que queremos que este shortcode tenha (o que digitaremos entre os colchetes) e o segundo sendo a função que queremos anexar a esse shortcode:
add_shortcode('lorem', 'lorem_function');
Isso é tudo que precisamos para criar um shortcode básico no WordPress.
Adicionando parâmetros
Seguindo a idéia de um conteúdo fictício, precisamos de imagens em nosso conteúdo e essas imagens podem ser de tamanhos diferentes, então agora criaremos um shortcode para inserir uma imagem:
[imagem width="500" height="500"]
Quando o WordPress processar este shortcode, queremos uma função que irá inserir uma imagem. Ele precisa ler os atributos de largura e altura, mas apenas no caso de nós também fornecermos valores padrão para que ele possa ser usado sem os atributos. Porque talvez não tenhamos uma imagem disponível, vamos usar o serviço lorempixel.com para nos fornecer uma imagem aleatória.
Primeiro precisamos criar a função:
function imagem_aleatoria($atts) {
extract(shortcode_atts(array(
'width' => 400,
'height' => 200,
), $atts));
return '<img src="https://lorempixel.com/'. $width . '/'. $height . '" />';
}
Chamamos essa função de imagem_aleatoria e, como este shortcode poderá levar argumentos, nós passamos o parâmetro $atts. Para usar os atributos, precisamos de duas funções: o shortcode_atts que é uma função do WordPress que combina nossos atributos com atributos conhecidos e preenche padrões quando necessário; e a função de extração do PHP que, como o nome sugere, extrai os atributos que estabelecemos para o nosso shortcode. Finalmente, a função retorna o valor que queremos, neste caso, o código HTML da nossa imagem combinada com as variáveis de largura e altura.
A única coisa a fazer em seguida é registrar este shortcode:
add_shortcode('imagem', 'imagem_aleatoria');
Nosso shortcode está completo, quando escrevermos [imagem], nos dará uma imagem aleatória 400×200, e se usarmos os atributos, podemos criar uma imagem de qualquer tamanho que quisermos.
Criar pequenos shortcodes para as coisas que usamos freqüentemente nos ajuda a escrever postagens de blog porque você pode fazer qualquer coisa que você quiser com eles, pode ser tão simples como retornar uma frase, ou tão complexo como adicionar um formulário ou as últimas postagens ordenadas por mês. Use sua imaginação para criar seus próprios shortcodes e aplicar em seus projetos.