Usar shortcodes do WordPress fora do Editor é algo que provavelmente interessa a muitos desenvolvedores e curiosos que realizam modificações a templates wordpress. Recentemente os colegas do wpengineer falaram sobre o assunto, e aproveitámos o esclarecimento para lhe trazer nova informação. A Shortcode-API do WordPress pode ajudá-lo a tornar o seu Editor mais avançado, especialmente com a ajuda de Shortcodes para inserir conteúdo externo nos seus posts ou páginas facilmente. Existem inúmeras possibilidades de utilizar informação externa no seu blog, nomeadamente publicidade, por exemplo.
Se você desejar utilizar a API Shortcode no seu Template ou simplesmente não a deseja colocar no seu Editor, porque pretende utiliza-la em Custom Fields ou noutro local. Existem uma função no WordPress que lhe permite inserir shortcodes em qualquer outro local que não o seu Editor.
O método mais fácil é aceder a um shortcode, por exemplo meushortcode
; com a ajuda do do_shortcode()
. Ele irá mostrar-lhe um código de exemplo; você coloca-o no seu Template – por exemplo no ficheiro single.php
dos seus Templates.
echo do_shortcode('[meushortcode]');
Se você trabalha com parâmetros, então os Shortcodes podem processar esses parâmetros para que estes sejam entregues.
echo do_shortcode('[meushortcode param="blahblahblah"]');
Nota: o PHP diferencia as aspas ‘ de “, pelo que se não funcionar, é bom que experimente ambas as versões. Por exemplo, o seguinte código não deverá funcionar:
echo do_shortcode('[meushortcode param='blahblahblah']');
mas este já deve funcionar:
echo do_shortcode('[meushortcode param="blahblahblah"]');
Outro exemplo passa por usar um valor a partir de um Custom Field exemplo-nome e devolvê-lo ao Shortcode exemplo_shortcode
para o parâmetro product
.
<?php $exemplo_product = get_post_meta( $post->ID, 'exemplo-nome', $single = true ); if ($exemplo_product) echo do_shortcode('[exemplo_shortcode product="' . $exemplo_product . '"]'); ?>
Existem inúmeras possibilidades, como por exemplo aceder a uma galeria, que você mantém dentro de uma determinada postagem.
echo do_shortcode('');
Com esse código, você pode carregar facilmente uma galeria e esta não depende dos Shortcodes no seu Editor.
Agora é testar e experimentar à vontade! Boa sorte!
Até Já!