Table of Contents Plus es un potente pero fácil de usar plugin de WordPress que crea automáticamente un índice o tabla de contenidos (TOC) específico del contexto para páginas largas (y tipos de publicación personalizados). Más que un simple plugin de tabla de contenidos, este plugin también puede generar un mapa del sitio que enumera páginas y/o categorías en todo su sitio.
En este artículo
- Descripción
- Capturas de pantalla
- Instalar / Actualizar
- Ayuda
- El enfoque más sencillo
- ¿Dónde está mi tabla de contenidos?
- ¿Cómo evito que la tabla de contenidos aparezca en una página individual?
- He configurado el ajuste a la izquierda o derecha, pero los encabezados no se ajustan alrededor de la tabla de contenidos.
- ¿Cómo incluyo el nombre de la página en el título de la tabla de contenidos?
- Mi sitio tiene 100 páginas, pero solo quiero que la tabla de contenidos aparezca en 10 de ellas.
- Quiero ignorar ciertos encabezados.
- ¿Puedo tener la tabla de contenidos en la barra lateral?
- A diferencia de Wikipedia, quiero que todas mis anclas sean en minúsculas y usen guiones en lugar de guiones bajos.
- Me gustaría incorporar un mapa del sitio.
- El mapa del sitio utiliza una fuente extraña, diferente al resto del sitio.
- Shortcodes
- Para desarrolladores
Descripción
Creada desde cero y pensando en Wikipedia, la tabla de contenidos aparece por defecto antes del primer encabezado de una página. Esto permite al autor insertar contenido introductorio que puede resumir o presentar el resto de la página. También utiliza un esquema de numeración único que no se pierde a través de las diferencias de CSS entre temas.
Este plugin es un gran complemento para sitios ricos en contenido, como configuraciones orientadas a sistemas de gestión de contenido. Dicho esto, los blogueros también obtienen los mismos beneficios al escribir artículos largos y estructurados.
ToC Plus incluye un panel de opciones de administración donde puede personalizar configuraciones como la posición de visualización, definir el número mínimo de encabezados antes de que se muestre un índice, otra apariencia y más. Para usuarios avanzados, expanda las opciones avanzadas para ajustar aún más su comportamiento, incluyendo:
- Excluye niveles de encabezado no deseados como h5 y h6 de ser incluidos;
- Deshabilita la salida del archivo CSS incluido;
- Ajusta el desplazamiento superior y más.
Usando códigos cortos, puedes anular el comportamiento predeterminado, como exclusiones especiales en una página específica o incluso ocultar la tabla de contenidos por completo.
¿Prefieres incluir el índice en la barra lateral? Ve a Apariencia > Widgets y arrastra TOC+ a tu barra lateral y posición deseadas.
Se admiten tipos de publicación personalizados; sin embargo, la inserción automática solo funciona cuando the_content() ha sido utilizado por el tipo de publicación personalizado. Cada tipo de publicación aparecerá en el panel de opciones, así que habilita los que desees.
Capturas de pantalla






Instalar / Actualizar
Instala el plugin buscando Table of Contents Plus en la pantalla Añadir Plugin, o directamente desde el repositorio de plugins de WordPress.
No hay instrucciones de actualización especiales. Sobrescribe tu carpeta existente con la última versión o utiliza el enfoque simplificado en el menú del plugin. Tus opciones no se perderán.
Ayuda
El enfoque más sencillo
Para los impacientes, todo lo que tienen que hacer es habilitar el plugin.
El plugin aplicará la configuración predeterminada y producirá la tabla de contenidos antes del primer encabezado en páginas (no en publicaciones ni tipos de publicación personalizados) con cuatro o más encabezados.
No se necesitan códigos cortos.
¿Dónde está mi tabla de contenidos?
- En la mayoría de los casos, la publicación, página o tipo de publicación personalizado tiene menos del número mínimo de encabezados. Por defecto, este valor se establece en cuatro, así que asegúrate de tener al menos cuatro encabezados dentro de tu contenido. Si deseas cambiar este valor, puedes encontrarlo en 'Opciones principales' > 'Mostrar cuándo'.
- ¿Está habilitada la inserción automática para tu tipo de contenido? Por defecto, solo las páginas están habilitadas.
- ¿Tienes
[no_toc]en algún lugar dentro del contenido? Esto deshabilitará el índice para la publicación, página o tipo de publicación personalizado actual. - Si estás utilizando el widget TOC+, comprueba si tienes habilitada la opción "Mostrar la tabla de contenidos solo en la barra lateral", ya que esto limitará su visualización solo a la barra lateral. Puedes comprobarlo yendo a Apariencia > Widgets.
- Es posible que hayas restringido la generación a una coincidencia de ruta de URL. La configuración se puede encontrar en la sección avanzada, dentro de Opciones principales.
¿Cómo evito que la tabla de contenidos aparezca en una sola página?
Coloca el siguiente [no_toc] en cualquier lugar de la página para suprimir la tabla de contenidos. Esto se conoce como un código corto y funciona para publicaciones, páginas y tipos de publicación personalizados que utilizan the_content()
He configurado el ajuste a la izquierda o a la derecha, pero los encabezados no se ajustan alrededor de la tabla de contenidos
Esto normalmente ocurre cuando hay una directiva CSS 'clear' en o alrededor del encabezado, originada en el tema (Twenty Eleven y Twenty Twelve son dos temas que hacen esto). Esta directiva le dice al agente de usuario que restablezca las especificaciones de ajuste anteriores.
Puedes ajustar el CSS de tu tema o intentar mover la posición de la tabla de contenidos a la parte superior de la página.
Intenta agregar el siguiente CSS para permitir que el ajuste de línea ocurra alrededor de la tabla de contenido:
h1, h2, h3, h4, h5, h6 { clear: none; }
¿Cómo incluyo el nombre de la página en el título de la tabla de contenido?
Como el título de la página cambia dependiendo de la página que estés viendo, puedes usar la siguiente variable especial para insertar automáticamente el título de la página en el encabezado de la tabla de contenido:
%PAGE_NAME%
Puedes usarla tal cual o colocar texto a ambos lados de la variable.
Como ejemplo: si tu página se llama Grandes esperanzas y el título de tu tabla de contenido está configurado como Contenido para %PAGE_NAME%, el título final sería Contenido para Grandes esperanzas
Mi sitio tiene 100 páginas pero solo quiero que la tabla de contenido aparezca en 10 de ellas
Podrías poner [no_toc] en las 90 páginas, pero eso no sería divertido... así que prueba lo siguiente:
- Ve a Ajustes > TOC+ y deshabilita la opción de inserción automática para páginas (o el tipo de contenido con el que estés trabajando).
- Añade
[toc]en las 10 páginas que las necesiten. Ten en cuenta que la tabla de contenido aparecerá donde hayas colocado el shortcode.
Alternativamente, también podrías experimentar con la opción de restringir ruta si las páginas en las que quieres incluir el índice se encuentran todas dentro de una sección determinada de tu sitio (por ejemplo, /doc/).
Quiero ignorar ciertos encabezados
Usa la opción 'excluir encabezados' si deseas ignorar ciertos encabezados. Separa múltiples encabezados con una barra vertical |. Usa un asterisco * como comodín para coincidir con otro texto. Ten en cuenta que esto no distingue entre mayúsculas y minúsculas. Algunos ejemplos incluyen:
Fruit*ignora encabezados que comiencen con Fruit*Fruit Diet*ignora encabezados conFruit Dieten algún lugar del encabezadoApple Tree|Oranges|Yellow Bananasignora encabezados que sean exactamente Apple Tree, Oranges o Yellow Bananas
¿Puedo tener la tabla de contenido en la barra lateral?
Usa el widget TOC+ y arrástralo a la posición deseada. Si quieres que la tabla de contenido solo se muestre en la barra lateral, asegúrate de marcar esa opción en el widget.
A diferencia de Wikipedia, quiero que todos mis anclajes sean en minúsculas y usen guiones en lugar de guiones bajos
Hay dos opciones que te permiten ajustar las mayúsculas y minúsculas y el uso de guiones. Si aún necesitas más, puedes ajustarlo un poco más adjuntándote al filtro toc_url_anchor_target. Consulta la sección de desarrolladores a continuación para ver un ejemplo.
Me gustaría incorporar un mapa del sitio
- Crea una página para tu mapa del sitio (si ya tienes uno, úsalo en su lugar).
- Añade
[sitemap]en tu página y guarda.
Lo anterior es el ejemplo más simple de integración de un mapa del sitio que enumera todas las páginas y categorías. Puede personalizar las opciones del mapa del sitio en Configuración > TOC+ o consultar algunos de los usos más avanzados con los códigos cortos relacionados con el mapa del sitio a continuación.
También podría incorporar un mapa del sitio usando un widget de texto y pegando cualquiera de los códigos cortos del mapa del sitio.
El mapa del sitio utiliza una fuente extraña, diferente al resto del sitio.
No se crean estilos adicionales para el mapa del sitio, sino que hereda cualquier estilo que haya utilizado al agregar el código corto. Si copió y pegó, probablemente también copió las etiquetas de 'código' que lo rodean, así que elimínelas si este es el caso.
En la mayoría de los casos, intente que el código corto esté en su propia línea, sin nada antes ni después de los corchetes.
Códigos cortos
El plugin fue diseñado para ser lo más fluido y sencillo posible y no requería que insertara un código corto para su funcionamiento. Sin embargo, el uso del código corto le permite controlar completamente la posición de la tabla de contenido dentro de su página. Los siguientes códigos cortos están disponibles con este plugin.
Cuando los parámetros se omiten para los códigos cortos a continuación, recurrirán a la configuración que definió en Configuración > TOC+.
[toc]
Le permite generar la tabla de contenido en la posición preferida. También es útil para sitios que solo requieren una tabla de contenido en un pequeño número de páginas.
Atributos:
etiqueta: texto, título de la tabla de contenidono_etiqueta: verdadero/falso, muestra u oculta el títuloenvoltura: texto, ya sea “izquierda” o “derecha”niveles_encabezado: números, esto le permite seleccionar los niveles de encabezado que desea incluir en la tabla de contenido. Separe varios niveles con una coma. Ejemplo: incluya los encabezados 3, 4 y 5 pero excluya los demás conniveles_encabezado="3,4,5"excluir: texto, ingrese los encabezados que desea excluir. Separe varios encabezados con una barra vertical|. Use un asterisco*como comodín para coincidir con otro texto. También podría usar expresiones regulares para una coincidencia más avanzada.clase: texto, ingrese las clases CSS que se agregarán al contenedor. Separe varias clases con un espacio.
[no_toc]
Le permite deshabilitar la tabla de contenido para la publicación, página o tipo de publicación personalizada actual.
[mapa_sitio]
Produce un listado de todas las páginas y categorías de su sitio. Puede usar esto en cualquier publicación, página o incluso en un widget de texto.
[mapa_sitio_paginas]
Le permite imprimir un listado solo de páginas.
Atributos:
encabezado: número entre 1 y 6, define qué encabezado html usaretiqueta: texto, título de la listano_etiqueta: verdadero/falso, muestra u oculta el encabezado de la listaexcluir: IDs de las páginas o categorías que desea excluirexcluir_arbol: ID de la página o categoría que desea excluir, incluidos todos sus descendientes
[mapa_sitio_categorias]
Similar a [mapa_sitio_paginas] pero para categorías.
[sitemap_posts]
Esto te permite imprimir un índice de todas las entradas publicadas en tu sitio. Por defecto, las entradas se listan en orden alfabético agrupadas por su primera letra. Hay clases CSS para cada sección, letra y lista que te permiten personalizar la apariencia.
Atributos:
order: texto, ASC o DESCorderby: texto, opciones populares incluyen “title”, “date”, “ID” y “rand”. Consulta WP_Query para una lista.separate: true/false (por defecto es true), no separa las listas por la primera letra cuando se establece en false.
Para desarrolladores
¿Cómo personalizo mis anclajes?
Si aún no estás satisfecho con los anclajes, puedes modificarlos para adaptarlos a tus necesidades a través de una función personalizada conectada al filtro toc_url_anchor_target. Como ejemplo, coloca el siguiente fragmento de código en tu archivo functions.php para convertir todos los anclajes a mayúsculas.
function my_custom_anchor( $anchor ) {
return strtoupper( $anchor );
}
add_filter( 'toc_url_anchor_target', 'my_custom_anchor' );
toc_get_index( $content = ”, $prefix_url = ” )
Devuelve una cadena formateada en HTML del índice sin las etiquetas UL u OL circundantes para permitir que el editor del tema proporcione sus propios ID y/o clases a la lista exterior.
Ambos parámetros son opcionales:
$contentes el contenido completo con encabezados. Si está en blanco, se usará por defecto el contenido actual encontrado en$post(por ejemplo, dentro de “the loop”).$prefix_urles la URL a la que se antepondrá el anclaje. Si se proporcionó una cadena, se usará tal cual. Si se establece entrueentonces intentará obtener el permalink del objeto$post.
Estos ejemplos asumen que estás dentro de “the loop”:
- Obtener el índice de la página actual:
echo '<ul id="my_toc">' . toc_get_index() . '</ul>';
2. Crear un listado de todos los hijos y sus encabezados:
$children = new WP_Query(array(
'post_parent' => get_the_ID(),
'posts_per_page' => -1 // get all children
));
while ( $children->have_posts() ) {
$children->the_post();
echo
'<h3>' . get_the_title() . '</h3>' .
'<ul>' . toc_get_index( get_the_content(), get_permalink( $children->post->ID ) ) . '</ul>'
;
}
wp_reset_postdata();