Los shortcodes de Wordpress pasan una matriz de valores
Estoy creando algunos códigos cortos de WordPress destinados a proporcionar navegación interna en una página (una página con muchas secciones de contenido y su propio menú).
Esto es lo que tengo:
//menu
function internal_menu($atts) {
extract(shortcode_atts(array(
'href1' => '#jl1',
'href2' => '#jl2',
'href3' => '#jl3',
'href4' => '#jl4',
), $atts));
return '<div id="internalPageMenu">
<ul>
<li><a href="' . $href1 . '"><i class="fa fa-bars"></i>link 1</a></li>
<li><a href="' . $href2 . '">link 2</a></li>
<li><a href="' . $href3 . '">link 3</a></li>
<li><a href="' . $href4 . '">link 4</a></li>
</ul>
</div>';
}
add_shortcode('internal-menu', 'internal_menu');
//menu target
function internal_menu_target($atts) {
extract(shortcode_atts(array(
'id' => 'jl1',
'text' => '',
), $atts));
return '<h3 id="' . $id . '">' . $text . '</h3>';
}
add_shortcode('internal-menu-target', 'internal_menu_target');
Y usando esto en mi panel de administración de Wordpress:
[internal-menu]
[internal-menu-target id="jl1"]
Some content
[internal-menu-target id="jl2"]
...etc...
¿Cómo hago que el menú sea dinámico (no limitado a la cantidad de elementos que puede tener)? Por ejemplo, el código corto sería:
[internal-menu targets="jl1, jl2, jl3, jl4, jl5, ...etc..."]