Porque é que os códigos curtos do WordPress podem ser tão úteis
O WordPress é um dos sistemas de gestão de conteúdos mais utilizados no mundo. Inúmeros plugins ajudaram o antigo software de blogging a desenvolver uma enorme gama de funções que podem ser utilizadas para realizar uma grande variedade de projectos web. No entanto, o WordPress manteve-se fiel a uma coisa ao longo dos anos: É um sistema que pode ser utilizado por bloggers, editores e outros redactores sem quaisquer conhecimentos de HTML e CSS, o que o torna uma solução rápida e descomplicada para a distribuição de conteúdos na World Wide Web.
Por isso, se quiser dar os primeiros passos como autor na Web, o WordPress é a escolha perfeita. Em 2008, os criadores do WordPress introduziram também uma funcionalidade chamada "shortcodes", que lhe permite adicionar facilmente elementos dinâmicos aos seus posts editoriais.
O que é um shortcode?
Os chamados shortcodes, que foram introduzidos com a versão 2.5 do WordPress, são atalhos que podem ser colocados em textos e estão ligados a um código PHP. Este é armazenado no ficheiro functions.php ou num ficheiro .php separado que está integrado no ficheiro functions.php. Se uma página com um shortcode for chamada, o WordPress garante que o script correspondente é executado e interpretado. Assim, o visitante vê o conteúdo gerado pela função PHP em vez do código. Em termos estritos, o shortcode funciona como um espaço reservado, por exemplo, para elementos simples como um excerto de texto ou para tipos de conteúdos dinâmicos como pop-ups ou uma galeria de imagens.
A implementação de um shortcode no WordPress não é um grande desafio: Eles são inseridos diretamente no editor, no local apropriado do post. Para que o WordPress reconheça os códigos como tal, eles são colocados entre parênteses rectos [ ]. Por exemplo, um shortcode tem a forma [current-posts]. Em conjunto com a função PHP correspondente, este código mostra outros posts publicados recentemente na posição selecionada. O código Códigos curtos do WordPress também pode ser especificado com parâmetros adicionais. Por exemplo, para limitar a visualização dos posts publicados mais recentemente a cinco, o shortcode que acabou de ser utilizado pode ser alargado da seguinte forma: [current-posts posts="5″].
Porque é que os códigos curtos do WordPress podem ser tão úteis
Dois aspectos em particular tornam os códigos de acesso no WordPress tão práticos: em primeiro lugar, mesmo os utilizadores que não têm conhecimentos de JavaScript ou CSS podem adicionar dinamismo ao seu projeto web. Mesmo a linguagem de script PHP, que é fundamental para os atalhos, não precisa necessariamente de ser dominada, uma vez que vários atalhos, incluindo os scripts correspondentes, já estão disponíveis no WordPress por defeito. Estes estão claramente listados na página oficial. Aí encontrará também instruções sobre como utilizar os respectivos Desbloquear código curto e podem utilizá-los. Além disso, muitos utilizadores do WordPress disponibilizam gratuitamente os seus próprios códigos de acesso ao WordPress em várias plataformas, como a SNIPPLR. Muitos plugins e modelos também oferecem os seus próprios códigos de acesso. Assim, só precisa de se programar se quiser alterar um script existente ou precisar de um script completamente novo.
A segunda grande vantagem do Os códigos curtos são a poupança de tempoSe, por exemplo, utilizar uma determinada passagem de texto, logótipo ou outro elemento repetidamente nos seus artigos, a colocação de um shortcode devidamente programado poupar-lhe-á imenso tempo. Se, mais tarde, pretender alterar algo neste elemento, não tem de o fazer individualmente para cada artigo. Basta adaptar o código PHP e as alterações são aplicadas a todas as páginas do seu projeto WordPress que contenham o shortcode.
Como criar os seus próprios códigos de acesso no WordPress
Já se tornou claro que o núcleo de um shortcode é o script PHP que é executado assim que o WordPress encontra um shortcode previamente definido. No entanto, as secções que se seguem não se referem tanto a como programar esse script, pois isso implicaria um curso básico de programação PHP que o desviaria do tema. Em vez disso, as secções seguintes mostram-lhe como integrar os códigos de acesso no WordPress, utilizá-los no seu projeto e voltar a desactivá-los. Pode adicionar o código PHP correspondente ao ficheiro functions.php no diretório do tema que está a utilizar ou a um ficheiro PHP separado que integre em conformidade. Deve criar um tema secundário para que os seus próprios atalhos não desapareçam da próxima vez que o tema for atualizado. Isto pode ser feito em alguns passos simples, como mostram as instruções no fórum de suporte do WordPress.
Criar função de retorno de chamada
A função PHP que é executada assim que o WordPress regista um shortcode é a chamada função de retorno de chamada. Como tal, é passada para outra função como um parâmetro e chamada sob condições definidas com parâmetros definidos. O exemplo de função que se segue procura na base de dados e gera uma hiperligação para o último post para o shortcode [current-posts]:
função current_posts_function() {
query_posts(array('orderby' => 'date', 'order' => 'DESC' , 'showposts' => 1));
if (have_posts()) :
while (have_posts()) : the_post();
$return_string = '<a href="/pt/'.get_permalink().'/">'.get_the_title().'</a>';
endwhile;
endif;
wp_reset_query();
return $return_string;
}
O texto que deve substituir o shortcode está na variável $return_string (o PHP identifica todas as variáveis com $). A função PHP (current_posts_function) devolve esta variável. Se, acidentalmente, utilizar o comando echo, o elemento implementado através do shortcode aparece subitamente antes do conteúdo atual.
Introduzir um código curto no WordPress
Tem de dizer ao WordPress que a função que criou é um shortcode que deve ser executado automaticamente quando uma página chamada contém o shortcode [current-posts]. Para tal, adicione o seguinte código ao seu ficheiro PHP:
add_shortcode('current-posts', 'current_posts_function');
Definiu assim o nome do shortcode [current-posts], que utilizará mais tarde no editor, e a função current_posts_function() a utilizar. Para evitar conflitos entre diferentes shortcodes do WordPress, é importante escolher um nome único.
Definir códigos curtos parametrizados e funcionalizados
Para tornar o seu shortcode WordPress ainda mais flexível, pode adicionar parâmetros opcionais. No exemplo utilizado até agora, faz sentido especificar no shortcode exatamente quantos posts devem ser apresentados. Para o fazer, precisa de duas funções adicionais: Em primeiro lugar, a função shortcode_atts(), que combina atributos de shortcode gerados pelo utilizador com atributos nativos e insere automaticamente os valores predefinidos necessários. Em segundo lugar, a função PHP extract() é necessária para extrair os atributos do shortcode. No caso de o campo de argumento permanecer vazio, deve ser especificado o valor por defeito 1 ('posts' => 1):
function current_posts_function($atts){
extract(shortcode_atts(array(
'posts' => 1,
), $atts));
$return_string = '<ul>';
query_posts(array('orderby' => 'date', 'order' => 'DESC' , 'showposts' => $posts));
if (have_posts()) :
while (have_posts()) : the_post();
$return_string .='<li><ahref="'.get_permalink().'">'.get_the_title().'</a></li>';
endwhile;
endif;
$return_string .= '</ul>';
wp_reset_query();
return $return_string;
}
Se introduzir o shortcode no texto da seguinte forma [current-posts posts="5″], é apresentado não só o artigo publicado mais recentemente, mas também uma lista dos cinco artigos mais recentes.
Utilização de determinados conteúdos como parâmetros de shortcode
Pode modificar ainda mais o exemplo apresentado e também adicionar um elemento de conteúdo específico como parâmetro. No nosso exemplo, este parâmetro de conteúdo deve definir o título de um cabeçalho. Para isso, adicione a variável $content ao script de retorno de chamada e insira o título HTML antes da enumeração:
function current_posts_function($atts, $content = null) {
extract(shortcode_atts(array(
'posts' => 1,
), $atts));
$return_string = '<h3>'.$content.'</h3>';
$return_string .= '<ul>';
query_posts(array('orderby' => 'date', 'order' => 'DESC' , 'showposts' => $posts));
if (have_posts()) :
while (have_posts()) : the_post();
$return_string .= '<li><a href="/pt/'.get_permalink().'/">'.get_the_title().'</a></li>';
endwhile;
endif;
$return_string .= '</ul>';
wp_reset_query();
return $return_string;
}
Agora, rodeie o título pretendido no seu texto com um código curto de abertura e um código curto de fecho, semelhante a uma etiqueta HTML:
[current-posts posts ="5"]Título da lista de artigos actuais[/current-posts]
Utilizar o código curto do WordPress num widget
Até agora, apenas tratámos da utilização de códigos de acesso no editor de texto do WordPress. No entanto, muitas vezes há situações em que os códigos de acesso também são interessantes para um widget, como uma barra lateral. O WordPress não reconhece os códigos de acesso por defeito, mas isso pode ser rapidamente alterado com uma pequena linha de código adicional no ficheiro PHP:
add_filter('widget_text', 'do_shortcode');
Utilize este código para instruir o WordPress a verificar também os elementos de texto em widgets para shortcodes.
Desativação de códigos curtos que já não são necessários
Se já não precisar de um determinado shortcode do WordPress, tem duas opções para o desativar: A solução ideal seria remover a função de retorno de chamada do ficheiro PHP e todas as entradas do código das suas publicações. Se, em vez disso, eliminar apenas a função de retorno de chamada, o WordPress deixará de reconhecer o código de acesso como tal e apresentá-lo-á em texto simples no meio do artigo. Uma vez que este método é muito moroso para um shortcode utilizado frequentemente, existe uma segunda opção para estes casos: em vez de eliminar o código e a função PHP, a função de retorno de chamada é alargada por uma instrução que não devolve nada e, por conseguinte, é virtualmente bloqueada:
add_shortcode('current-posts', '__return_false');
Códigos de acesso úteis para o seu blogue
Agora que já tem uma breve ideia da estrutura dos códigos de acesso e sabe como registá-los e integrá-los no WordPress, os exemplos seguintes devem dar-lhe uma ideia das muitas possibilidades da tecnologia de códigos de acesso.
Inserir botão de ligação
Para adicionar um botão de ligação com etiqueta individual ao seu projeto, basta um shortcode com a seguinte função de retorno de chamada:
function link_button_function( $atts, $content = null ) {
return '';
}
add_shortcode('link-button', 'link_button_function');
O rótulo pretendido para o botão é simplesmente colocado entre o shortcode de abertura e o de fecho:
[Clique aqui!
Apresentação do menu WordPress
Pode utilizar o seguinte código para apresentar um menu selecionado do seu projeto WordPress por baixo da publicação de texto:
function menu_function($atts, $content = null) {
extrair(
shortcode_atts(
array( 'name' => null, ),
$atts
)
);
return wp_nav_menu(
array(
'menu' => $name,
'echo' => false
)
);
}
add_shortcode('menu', 'menu_function');
Se pretender utilizar este código curto, basta introduzir o nome do menu correspondente como parâmetro, por exemplo
[menu name="Menu principal"]
A forma mais fácil de utilizar o código curto do WordPress são os plug-ins
Para todos aqueles que não querem criar o seu próprio código de acesso ou implementar os exemplos prontos manualmente em functions.php ou no respetivo ficheiro PHP, existe outra forma de ativar os códigos de acesso úteis para o seu próprio projeto web: Na página oficial do WordPress, encontrará uma grande seleção de plugins que adicionam um ou vários shortcodes diferentes à sua instalação do WordPress. Com a extensão Last Updated Shortcode, por exemplo, pode aceder ao shortcode com o mesmo nome [lastupdated], que mostra quando um artigo ou página foi atualizado pela última vez.
Com mais de 50 códigos de acesso e o seu próprio editor CSS, o plugin Shortcodes Ultimate é um pouco mais abrangente. Pode ser utilizado para adicionar shortcodes para separadores, botões, caixas ou sliders ao WordPress, por exemplo. No entanto, deve ter sempre em conta o seguinte quando utiliza plug-ins de códigos curtos: As extensões consomem recursos informáticos e tornam o seu projeto Web mais lento se forem utilizadas em excesso. Além disso, normalmente não se sabe se um Plugin é desenvolvido e atualizado regularmente ou se representa uma vulnerabilidade de segurança.
Por último, importa referir que não existem apenas plug-ins que implementam códigos de acesso, mas também aqueles que o ajudam a criar as suas próprias funções de retorno de chamada e a gerir os seus códigos de acesso.
Shortcoder: Pode criar os seus próprios códigos de acesso num editor visual e adicionar-lhes simplesmente fragmentos de HTML e JavaScript.