Easy Table of Contents

Descripción

Un plugin fácil de usar, que te permite insertar una tabla de contenidos en tus entradas, páginas y tipos de contenido personalizados.

Características

  • Genera automáticamente una tabla de contenidos para tus entradas, páginas y tipos de contenido personalizados analizando el contenido para las cabeceras.
  • Compatible con la etiqueta <!--nextpage-->.
  • Compatible con el plugin Rank Math.
  • Works with the Classic Editor, Gutenberg, Divi, Elementor, WPBakery Page Builder and Visual Composer page editors.
  • Opcionalmente se puede activar para páginas y/o entradas. Se admiten los tipos de contenido personalizados, siempre que tu contenido se genere con la etiqueta de plantilla the_content().
  • Opcionalmente, puede insertar automáticamente el índice de contenidos en la página, seleccionable por el tipo de contenido activado.
  • Proporciona muchas opciones fáciles de entender para configurar cuándo y dónde insertar la tabla de contenidos.
  • Hay muchas opciones disponibles para configurar cómo aparece la tabla de contenido insertada que incluye varios temas incorporados. Si los temas suministrados no satisfacen tus necesidades, puedes crear los tuyos propios eligiendo tus propios colores para el borde, el fondo y el color del enlace.
  • Múltiples formatos de contador de viñetas entre los que elegir; ninguno, decimal, numérico y romano.
  • Elige entre mostrar la tabla de contenido de forma jerárquica o no. Esto significa que las cabeceras de menor prioridad estarán anidadas bajo cabeceras de mayor prioridad.
  • El usuario puede opcionalmente ocultar la tabla de contenidos. Tú tienes el control total de esta característica. Puede desactivarse y puedes elegir tenerlo oculto por defecto.
  • Compatible con el desplazamiento suave.
  • Activación o desactivación selectiva del índice de contenidos entrada por entrada.
  • Elige qué encabezados se usarán para generar la tabla de contenidos. Esto también se puede configurarse entrada por entrada.
  • Excluye fácilmente las cabeceras de forma global y entrada por entrada.
  • Si prefieres no insertar el índice en el contenido de la entrada, puedes usar el widget suministrado y colocar la tabla de contenidos en la barra lateral de tu tema.
  • Los widgets se pueden colocar o pegar en la página para que estén siempre visibles a medida que te desplazas por la página. NOTA: esta es una opción avanzada ya que cada tema es diferente, es posible que necesites el asesoramiento del desarrollador del tema para saber cuál es el selector de elementos correcto a utilizar en los ajustes para activar esta característica.
  • El widget resalta automáticamente las secciones actualmente visibles en la página. El color de realce es configurable.
  • Para el desarrollador con muchos ganchos de acción y filtros disponibles. Se pueden añadir más a petición en Github. Las solicitudes de pull son bienvenidas.

Ejemplos en vivo

Aquí hay enlaces a páginas de documentación de varias de las plantillas premium para el plugin Connections Business Directory plugin que utilizan el widget incluido con este plugin:

Hoja de ruta

  • Almacenamiento en caché de fragmentos para mejorar el rendimiento.
  • Improve SEO by adding options to add nofollow to TOC link and wrap TOC nav in noindex tag.
  • Improve accessibility.
  • Add Bullet and Arrow options for list counter style.

Reconocimiento

Easy Table Contents es una bifurcación del excelente plugin Table of Contents Plus de Michael Tran.

Capturas

  • La sección general de los ajustes.
  • La sección de apariencia de los ajustes.
  • La sección avanzada de los ajustes.

Instalación

Usando la búsqueda de plugins de WordPress

  1. Ve a la sub página Añadir nuevo en la página de plugins del escritorio.
  2. Busca easy table of contents.
  3. El plugin debería estar de primero en la lista de los resultados de búsqueda.
  4. Haz clic en el botón Instalar ahora.
  5. Finalmente, haz clic en el botón Activar para activar el plugin.

Subiendo a la administración de WordPress

  1. Descarga el archivo .zip del plugin y guárdalo en tu ordenador.
  2. Ve a la sub página Añadir nuevo en la página de plugins del escritorio.
  3. Haz clic en el botón Subir.
  4. Selecciona el archivo zip de «Easy Table of Contents» desde donde lo guardaste en tu ordenador.
  5. Haz clic en el botón Instalar ahora.
  6. Finalmente, haz clic en el botón Activar para activar el plugin.

Usando FTP

  1. Descarga el archivo .zip del plugin y guárdalo en tu ordenador.
  2. Descomprime el archivo zip de Easy Table of Contents.
  3. Crea una nueva carpeta llamada easy-table-of-contents en el directorio ../wp-content/plugins/.
  4. Sube los archivos desde la carpeta extraída en el paso 2.
  5. Activa el plugin en la página de administración de plugins.

FAQ

Vale, he instalado esto…. ¿qué hago ahora?

La primera parada debe ser la página de administración de la configuración de la tabla de contenido. Encontrarás esto en la opción de menú de ajustes.

La primera y única decisión que se requiere es la de decidir para qué tipos de contenido deseas activar la compatibilidad con la tabla de contenido. Por defecto es el tipo de contenido de páginas. Si el único lugar en el que planeas usar la tabla de contenido es en las páginas, no hay nada más que hacer en la página de ajustes. Para simplificar las cosas, recomiendo no cambiar ninguno de los demás ajustes en este momento. Muchos de los otros ajustes controlan cuándo y dónde se inserta la tabla de contenido y cambiar estos ajustes podría causar que no se muestre, lo que dificulta un poco más la tarea de empezar. Después de que te sientas cómodo con la forma en que esto funciona…. entonces haz los ajustes 🙂

Con eso quitado, asegúrate de leer la FAQ ¿Cómo se crean las tablas de contenido? para que sepas cómo se genera automáticamente la tabla de contenido. Después de haber configurado las cabeceras de página, o antes, de cualquier manera…. Desplázate hacia abajo en la página y verás una caja meta llamada «Tabla de Contenidos«, activa la opción Insertar_tabla de contenidos. y actualiza y/o publica tu página. El índice debe aparecer automáticamente en la parte superior de la página.

¿Cómo se crean las tablas de contenidos?

La tabla de contenido la generan las cabeceras que se encuentran en una página. Las cabeceras son las siguientes: <h1>,<h2>,<h3>,<h4>,<h5>,<h6> HTML tags. Si utilizas el editor visual de entradas de WordPress, estas etiquetas de encabezado se utilizan y se insertan en el mensaje cuando selecciona una de las opciones de encabezado desde el menú desplegable de formato . Cada encabezado que se encuentre en la página creará una tabla de contenido. He aquí un ejemplo que creará una tabla de contenidos que contiene los seis elementos.

<h1>Item 1</h1>
<h1>Item 2</h1>
<h1>Item 3</h1>
<h1>Item 4</h1>
<h1>Item 5</h1>
<h1>Item 6</h1>

También puedes crear una tabla de contenidos «anidada». Esto es difícil de explicar, así que voy a ilustrar la construcción sobre el ejemplo anterior. En este ejemplo se creará un índice de contenidos con los mismos seis elementos, pero ahora los tres primeros serán cada uno un elemento subordinado anidado debajo de él. La sangría no es necesaria, sólo se ha añadido con fines ilustrativos.

<h1>Item 1</h1>
    <h2>Item 1.1 -- Level 2</h2>
<h1>Item 2</h1>
    <h2>Item 2.1 -- Level 2</h2>
<h1>Item 3</h1>
    <h2>Item 3.1 -- Level 2</h2>
<h1>Item 4</h1>
<h1>Item 5</h1>
<h1>Item 6</h1>

Tampoco está limitado a un solo elemento anidado. Puedes añadir tantos como necesites. Incluso puede crear múltiples niveles anidados….

<h1>Item 1</h1>
    <h2>Item 1.1 -- Level 2</h2>
        <h3>Item 1.1.1 -- Level 3</h3>
        <h3>Item 1.1.2 -- Level 3</h3>
        <h3>Item 1.1.3 -- Level 3</h3>
    <h2>Item 1.2 -- Level 2</h2>
      <h3>Item 1.2.1 -- Level 3</h3>
      <h3>Item 1.2.2 -- Level 3</h3>
      <h3>Item 1.2.3 -- Level 3</h3>
    <h2>Item 1.3 -- Level 2</h2>
<h1>Item 2</h1>
    <h2>Item 2.1 -- Level 2</h2>
    <h2>Item 2.2 -- Level 2</h2>
<h1>Item 3</h1>
    <h2>Item 3.1 -- Level 2</h2>
    <h2>Item 3.2 -- Level 2</h2>
<h1>Item 4</h1>
<h1>Item 5</h1>
<h1>Item 6</h1>

Puedes anidar hasta 6 niveles de profundidad si es necesario. ¡Espero que esto te ayude a entender cómo crear y construir tu propio índice de contenido generado automáticamente en tus sitios!

Reseñas

12 de marzo de 2020
Magnifico, corrigieron el programa y lanzaron la actualización el mismo día, felicidades! ............................................. ...en la actualización 2.0.2 Si la tabla se ha configurado para estar "Antes del primer encabezado" Todo el contenido de la tabla se anida en la etiqueta <h2></h2> del encabezado. Entonces la tipografía y estilo de la tabla toma las características <h2> del tema. Esto no pasa si se coloca "Arriba" o "Al fondo"
26 de febrero de 2020
Et facile à personnaliser avec ça. Merci beaucoup et bonne continuation!
15 de febrero de 2020
I was really impressed by how timely Steven always got back to me with my support questions- faster than even some of the paid plug ins! Plug in also works well now, with his help.
12 de febrero de 2020
Exactly what we needed. A great help for our users to easily navigate our more complicated posts. As well, excellent and very prompt support for an issue that came up. Definitely worthy of some $.
Leer todas las 82 reseñas

Colaboradores y desarrolladores

«Easy Table of Contents» es un software de código abierto. Las siguientes personas han colaborado con este plugin.

Colaboradores

«Easy Table of Contents» ha sido traducido a 8 idiomas locales. Gracias a los traductores por sus contribuciones.

Traduce «Easy Table of Contents» a tu idioma.

¿Interesado en el desarrollo?

Revisa el código , echa un vistazo al repositorio SVN o suscríbete al registro de desarrollo por RSS.

Registro de cambios

2.0.8 04/03/2020

  • TWEAK: Convert <br /> tags in headings to a space.
  • TWEAK: Add additional widget classes.
  • TWEAK: Improve the sanitization of the excluded headings field post setting.
  • TWEAK: Minor optimization of creating the matching pattern for excluding headings for improved performance.
  • COMPATIBILITY: Exclude Create by Mediavine from heading eligibility.
  • BUG: Ensure excluded headings are removed from the headings array.
  • BUG: Ensure empty headings are removed from the headings array.

2.0.7 04/02/2020

  • NEW: Exclude any HTML nodes with the class of .ez-toc-exclude-headings.
  • TWEAK: Change smooth scroll selector from 'body a' to 'a.ez-toc-link'.
  • TWEAK: Declare JS variables.
  • TWEAK: Support unicode characters for the id attribute. Permitted by HTML5.
  • TWEAK: Move the in-page anchor/span to before the heading text to account for long headings where it line wraps.
  • TWEAK: Slight rework to ezTOC widget container classes logic.
  • TWEAK: Cache bust the JS to make dev easier.
  • TWEAK: JavaScript cleanup.
  • TWEAK: URI Encode the id attribute to deal with reserved characters in JavaScript. Technically not necessary for the id attribute but needed to work with the jQuery smoothScroll library.
  • COMPATIBILITY: Reintroduce filter to exclude Ultimate Addons for VC Composer Tabs from heading eligibility.
  • BUG: Correct array iteration logic when processing headings.
  • BUG: Tighten matching for headings in excluded HTML nodes. The loose matching was excluding far too many headings.
  • BUG: Use esc_attr() instead of esc_url() for the anchor href because valid id attribute characters would cause it to return an empty href which cause a nonworking link.

2.0.6 03/30/2020

  • BUG: Ensure minified files are current.

2.0.5 03/27/2020

  • BUG: Prevent possible «strpos(): Empty needle in» warnings when excluding nodes from TOC eligibility.

2.0.4 03/16/2020

  • NEW: Introduce the ez_toc_container_class filter.
  • TWEAK: Slight rework to ezTOC container classes logic.
  • BUG: sprintf() was eating % in the TOC heading item.
  • BUG: Do not insert TOC at top of post if before first heading option is selected even if first heading can not be found. Some page builders cause the TOC to insert twice or on blog pages.

2.0.3 03/12/2020

  • TWEAK: Slightly tighten heading matching, last update made it a little too loose.
  • BUG: Correct logic required to place TOC before first heading which is required for the more lax heading matching required for page builders.

2.0.2 03/12/2020

  • COMPATIBILITY: Remove filter to exclude Ultimate Addons for VC Composer Tabs from heading eligibility.
  • COMPATIBILITY: Add additional filters to improve Elementor compatibility.
  • TWEAK: Loosen heading matching when doing find/replace to insert in page links. Excluding the opening heading tag to allow matching heading where page builders dynamically add classes and id which break heading matching during find/replace.

2.0.1 03/09/2020

  • COMPATIBILITY: Exclude the WordPress Related Posts plugin nodes.
  • COMPATIBILITY: Exclude a couple Atomic Block plugin nodes.
  • COMPATIBILITY: Exclude JetPack Related Posts from heading eligibility.
  • COMPATIBILITY: Exclude Ultimate Addons for VC Composer Tabs from heading eligibility.
  • COMPATIBILITY: Exclude WP Product Reviews from heading eligibility.
  • TWEAK: Prevent possible «strpos(): Empty needle in» warnings when excluding nodes from TOC eligibility.

2.0 02/01/2020

  • NEW: Major rewrite of all code and processing logic to make it faster and more reliable.
  • NEW: Support for the tag.
  • NEW: Introduce helper functions for devs.
  • NEW: Support WPML.
  • NEW: Support Polylang.
  • NEW: Add filter to support the Rank Math plugin.
  • NEW: Introduce the ez_toc_maybe_apply_the_content_filter filter.
  • TWEAK: Improve translation compatibility.
  • TWEAK: Rework widget logic to allow multi-line TOC items, improve active item highlighting while removing the use of the jQuery Waypoints library.
  • TWEAK Add additional classes to TOC list items.
  • TWEAK: Add WOFF2 format for icon format and change font references in CSS.
  • TWEAK: Add font-display: swap for toggle icon.
  • TWEAK: Update JS Cookie to 2.2.1.
  • TWEAK: Update jQuery Smooth Scroll to 2.2.0.
  • TWEAK: Allow forward slash and angle brackets in headings and alternate headings.
  • TWEAK: Allow forward slash in excluded headings.
  • TWEAK: Remove new line/returns when matching excluded headings.
  • TWEAK: Simple transient cache to ensure a post is only processed once per request for a TOC.
  • TWEAK: Improve sanitization of alternate headings field value.
  • TWEAK: Deal with non-breaking-spaces in alternate headings.
  • TWEAK: Add the ability to exclude by selector content eligible to be included in the TOC.
  • TWEAK: Change the shortcode priority to a higher value.
  • TWEAK: Add filter to remove shortcodes from the content prior to the the_content filter being run to exclude shortcode content from being eligible as TOC items.
  • TWEAK: Add compatibility filters to remove shortcodes for Connections and Striking theme to remove them from eligible TOC item content.
  • TWEAK: Do not execute if root current filter is the wp_head or get_the_excerpt filters.
  • TWEAK: Add filter to exclude content by selector.
  • TWEAK: Move in-page anchor to after the heading instead of wrapping the heading to prevent conflicts with theme styling.
  • TWEAK: Utilize the ez_toc_exclude_by_selector filter the exclude the JetPack share buttons from eligible headings.
  • TWEAK: Remove the Elegant Themes Bloom plugin node from the post content before extracting headings.
  • RETOQUE: Añadido un filtro de compatibilidad para el plugin Visual Composer.
  • TWEAK: Utilize the ez_toc_exclude_by_selector filter the exclude the Starbox author heading from eligible headings.
  • I18N: Add wpml-config.xml file.
  • BUG: Correct option misspelling.
  • BUG: Do not need to run values for alternate and exclude headings thru wp_unslash() because update_post_meta() already does.
  • BUG: Do not need to run stripslashes() when escaping the alternate heading value.
  • BUG: Sanitize the excluded heading string before saving post meta.
  • DEV: Change PHP keywords to comply with PSR2.
  • DEV:Bump minimum PHP version to 5.6.20 which matches WP core.

1.7 05/09/2018

  • NEW: Introduce the ez_toc_shortcode filter.
  • TWEAK: Fix notices due to late eligibility check. props unixtam
  • TWEAK: Tweak eligibility check to support the TOC widget.
  • TWEAK: Prefix a few CSS classes in order to prevent collisions with theme’s and other plugins.
  • TWEAK: Avoid potential PHP notice in admin when saving the post by checking for nonce before validating it.
  • TWEAK: Using the shortcode now overrides global options.
  • TWEAK: the_content() now caches result of is_eligible().
  • TWEAK: Refactor to pass the WP_Post object internally vs. accessing it via the $wp_query->post which may not in all cases exist.
  • TWEAK: Use pre_replace() to replace one or more spaces with an underscore.
  • TWEAK: Return original title in the ez_toc_url_anchor_target filter.
  • TWEAK: Strip &nbsp;, replacing it with a space character.
  • TWEAK: Minor tweaks to the in page URL creating.
  • TWEAK: Wrap TOC list in a nav element.
  • TWEAK: Init plugin on the plugins_loaded hook.
  • TWEAK: Tweak the minimum number of headers to 1.
  • BUG: The header options from the post meta should be used when building the TOC hierarchy, not the header options from the global settings.
  • BUG: Do not double escape field values.
  • BUG: Ensure Apostrophe / Single quote use in Exclude Headings work.
  • OTHER: Update CSS to include the newly prefixed classes.
  • DEV: Remove some commented out unused code.

1.6.1 03/16/2018

  • MEJORA: Revertir el cambio hecho para permitir HTML añadido via el filtro ez_toc_title ya que ha causado efectos secundarios no deseados.
  • Error: Asegurar Desplazamiento Fluido está analizado como un número entero.

1.6 03/15/2018

  • NEW: Add px option for font size unit.
  • NEW: Add title font size and weight settings options.
  • NEW: Add the Mobile Smooth Scroll Offset option.
  • TWEAK: Change default for font size unit from px to % to match the default options values.
  • TWEAK: Correct CSS selector so margin is properly applied between the title and TOC items.
  • TWEAK: Honor HTML added via ez_toc_title filter.
  • TWEAK: Ensure the ezTOC content filter is not applied when running the_content filter.
  • TWEAK: Only enqueue the javascript if the page is eligible for a TOC.
  • TWEAK: Update icomoon CSS to remove unecessary CSS selectors to prevent possible conflicts.
  • TWEAK: The smooth scroll offset needs to be taken into account when defining the offset_top property when affixing the widget.
  • OTRO: Actualización del archivo CSS minified de la intefaz del usuario.
  • OTRO: Actualización al archivo javascript minified de la interfaz del usuario.
  • DEV: Correcciones phpDoc

1.5 02/20/2018

  • BUG: Correct CSS selector to properly target the link color.
  • OTHER: Update the WayPoints library.
  • DEV: Add a couple @todo’s.

1.4 01/29/2018

  • TWEAK: Change text domain from ez_toc to easy-table-of-contents.
  • TWEAK: Rename translation files with correct text domain.
  • BUG: Ensure page headers are processed to add the in page header link when using the shortcodes.
  • BUG: Add forward slash to domain path in the plugin header.
  • I18N: Update POT file.
  • I18N: Update Dutch (nl_NL) translation.

1.3 12/18/2017

  • FEATURE: Add support for the [ez-toc] shortcode.
  • NEW: For backwards compatibility with «Table of Content Plus», register the [toc] shortcode.
  • NEW: Introduce the ez_toc_extract_headings_content filter.
  • TWEAK: Update the tested to and required readme header text.
  • TWEAK: Do not show the widget on the 404, archive, search and posts pages.
  • I18N: Add the nl_NL translation.

1.2 04/29/2016

  • TWEAK: Remove the font family from styling the TOC title header.
  • TWEAK: Pass the raw title to the ez_toc_title filter.
  • BUG: A jQuery 1.12 fix for WordPress 4.5.

1.1 02/24/2016

  • FEATURE: Add option to replace header wither alternate header text in the table of content.
  • NEW: Introduce the ez_toc_filter.
  • NEW: Introduce ezTOC_Option::textarea() to render textareas.
  • NEW: Introduce array_search_deep() to recursively search an array for a value.
  • TWEAK: Run table of contents headers thru wp_kses_post().
  • TWEAK: Escape URL.
  • TWEAK: Count excluded headings only once instead of multiple times.
  • TWEAK: Escape translated string before rendering.
  • TWEAK: Use wp_unslash() instead of stripslashes().
  • TWEAK: Escape translated string.
  • BUG: Fix restrict path logic.
  • OTHER: Readme tweaks.
  • I18N: Add POT file.
  • I18N: Add Dutch translation.
  • DEV: Update .gitignore to allow PO files.
  • DEV: phpDoc fix.

1.0 09/08/2015

  • Initial release.
    • Complete refactor and restructure of the original code for better design and separation of function to make code base much easier to maintain and extend.
    • Update all third party libraries.
    • Make much better use of the WordPress Settings API.
    • Minified CSS and JS files are used by default. Using SCRIPT_DEBUG will use the un-minified versions.
    • Add substantial amounts of phpDoc for developers.
    • Add many hooks to permit third party integrations.
    • Widget can be affixed/stuck to the page so it is always visible.
    • Widget will highlight the table of content sections that are currently visible in the browser viewport.
    • Widget will now generate table of contents using output from third party shortcodes.
    • Use wpColorPicker instead of farbtastic.
    • Remove all shortcodes.
    • Per post options are saved in post meta instead of set by shortcode.