VenDoor Sticky Table of Contents

VenDoor Sticky Table of Contents arma un índice flotante a partir de los encabezados de tu artículo y lo mantiene junto al texto mientras el lector avanza. La sección que se está leyendo queda resaltada, las subsecciones se pliegan hasta que hacen falta, y el panel se mueve acotado dentro del artículo en vez de flotar sobre la cabecera o el pie. En móvil y tablet se convierte en una hoja inferior.

Sin URL con #. De eso se trata.

La mayoría de los plugins de índice le pone un id a cada encabezado y enlaza a él con <a href="#seccion">. Los buscadores siguen esos enlaces y empiezan a reportar tuarticulo/#algun-encabezado como un resultado aparte. Esos fragmentos compiten con el artículo en Search Console y te parten la foto de cómo rinde realmente la página.

Este plugin no hace ni lo uno ni lo otro. Los ítems son botones, tus encabezados conservan el marcado que escribiste, y el desplazamiento se hace guardando la referencia directa al encabezado. location.hash no se toca nunca, así que no se crea, ni se enlaza, ni se comparte ninguna URL de fragmento.

Qué obtienes

  • Un panel flotante anclado al borde de tu contenido, no a la ventana.
  • Scrollspy: la sección actual se resalta a medida que se lee.
  • Los H3 se pliegan bajo su H2 en un acordeón.
  • Hoja inferior en móvil y tablet.
  • Marcadores al margen que apuntan a la sección en la que estás.
  • Aparece solo cuando el artículo tiene suficientes encabezados para necesitarlo.
  • Accesible por teclado, respeta prefers-reduced-motion y desaparece al imprimir.
  • Diez idiomas y soporte para escritura de derecha a izquierda.

Sin página de ajustes

El plugin funciona tal cual se instala y todo lo que vale la pena cambiar es un filtro, así que tu configuración vive en el tema y no en la base de datos.

FiltroQué cambiaPor defecto
sticky_toc_enabledSi los assets se cargan en esta petición—
sticky_toc_post_typesQué tipos de contenido llevan índicearray( 'post' )
sticky_toc_content_selectorEl elemento que contiene el cuerpo del artículo.entry-content
sticky_toc_heading_selectorQué encabezados se listanh2, h3
sticky_toc_min_headingsEncabezados necesarios para que aparezca3
sticky_toc_scroll_offsetMargen que se deja sobre el encabezado, en píxeles90
sticky_toc_mobile_breakpointAncho bajo el cual pasa a hoja inferior1024
sticky_toc_top_selectorsLímite superior por el que puede moverse el panel—
sticky_toc_bottom_selectorsLímite inferior por el que puede moverse el panel—

Por ejemplo, para apuntarlo a un tema que no usa .entry-content:

add_filter( 'sticky_toc_content_selector', function () {
    return '.cuerpo-de-mi-articulo';
} );

Idiomas

El idioma de origen es el inglés. Se empaquetan japonés, español, alemán, francés, portugués de Brasil, ruso, italiano, neerlandés, polaco y turco, elegidos por cuota de instalaciones de WordPress y no por número de hablantes, porque este plugin vive dentro de WordPress. Los idiomas de derecha a izquierda están contemplados: el panel, el riel y los espaciados se reflejan.

Requisitos

  • WordPress 6.0 o superior
  • PHP 7.4 o superior
  • Publicado bajo licencia GPL, versión 2 o posterior

Disponibilidad

La versión 2.0.0 está terminada y va camino al directorio de plugins de WordPress. Esta página enlazará a la ficha en cuanto se publique allí. Mientras tanto, escríbenos si quieres una copia.