¿Alguna vez te has preguntado si podrías usar shortcodes anidados en WordPress? Por defecto, WordPress no te permite usar un shortcode dentro de otro shortcode (o en otras palabras, shortcode anidado). Sin embargo, con un simple ajuste en tu archivo functions.php, puedes hacerlo posible.
Instrucciones:
Todo lo que tienes que hacer es agregar este código al archivo functions.php de tu tema o a un plugin específico del sitio:
De esa manera, puedes usar el siguiente shortcode anidado [link][my_text][/link].
En el fragmento, simplemente pasamos $content a do_shortcode() y funciona a la perfección.
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");
Nota: Si es la primera vez que agregas fragmentos de código en WordPress, consulta nuestra guía sobre cómo copiar / pegar fragmentos de código correctamente en WordPress, para que no rompas accidentalmente tu sitio.
Si te gustó este fragmento de código, considera echar un vistazo a nuestros otros artículos en el sitio como: 62 mejores temas gratuitos de WordPress para blogs o 7 mejores plugins de formularios de contacto de WordPress.
Hola Debjit Saha,
Buen trabajo.
Si quiero usar $content en ambos shortcodes. Todos los valores de retorno serán $content. ¿Cómo hacerlo.
Gracias por este consejo, pero si me permites preguntar, ¿qué uso se le puede dar a este shortcode anidado? Es decir, ¿de qué maneras y cómo se puede usar?