Já se perguntou se você poderia usar shortcodes aninhados no WordPress? Por padrão, o WordPress não permite que você use um shortcode dentro de outro shortcode (ou, em outras palavras, shortcode aninhado). No entanto, com uma pequena alteração no seu arquivo functions.php, você pode fazer isso acontecer.
Instruções:
Tudo o que você precisa fazer é adicionar este código ao arquivo functions.php do seu tema ou a um plugin específico do site:
Dessa forma, você pode usar o seguinte shortcode aninhado [link][meu_texto][/link].
No trecho, nós apenas passamos $content para do_shortcode() e funciona perfeitamente.
add_shortcode("my_text", "my_text");
function my_text() {
return 'nested shortcode';
}
function my_link($atts, $content = null) {
extract(shortcode_atts(array(
"href" => 'http://'
), $atts));
return '<a href="'.$href.'">'.do_shortcode($content).'</a>';
}
add_shortcode("link", "my_link");
Observação: Se esta é a primeira vez que você adiciona trechos de código no WordPress, consulte nosso guia sobre como copiar / colar trechos de código corretamente no WordPress, para não quebrar acidentalmente seu site.
Se você gostou deste trecho de código, considere conferir nossos outros artigos no site, como: 62 melhores temas gratuitos de blog do WordPress ou 7 melhores plugins de formulário de contato do WordPress.
Olá Debjit Saha,
Bom trabalho.
Se eu quiser usar $content em ambos os shortcodes. Todo o valor de retorno será $content. Como faço isso.
Obrigado por esta dica, mas se me permite perguntar, para que serve este shortcode aninhado? Quero dizer, de que maneiras e como ele pode ser usado?