Tan solo, es lo que pienso

Indizar - Plugin para WordPress

El tag de WordPress para ‘paginar’ ofrece una buena opción para dividir un documento largo en diferentes páginas, pero aveces necesito dividir un documento por capítulos y no por páginas, junto con un índice que facilite la navegación por el documento por medio de los títulos de los capítulos, y no solo por el número de página.

En particular esa situación la viví al publicar sobre la trilogía Qatsi. Dividí el documento en capítulos por cada filme, y agregué un capítulo de introducción. Al ver la publicación en línea terminé con la sensación de que estaba perdiendo continuidad la página y el usuario no entendería por qué hacía esa separación, aun cuando los títulos al inicio de cada página explicaran un poco las razones. Viendo esa situación programé una solución propia.

Así nace Indizar, un plugin que permite agregar capítulos en las entradas, definir un listado de capítulos como si se tratara de un índice de contenido, e integrarlo al mecanismo de paginación de WordPress.

Para agregar un capítulo se debe usar [chapter:titulo del capítulo] y para agregar el índice se puede usar [chapters] con lo cual generará un listado, o [chapters:ancho,(left|right)] con lo cual se creará una caja del ancho definido, del lado indicado y con el texto al rededor de la caja. El primer capítulo siempre será el nombre del artículo. Generalmente pongo una caja de índice de contenido del lado derecho al inicio de la publicación, y otras más justo después de cada capítulo, con eso siempre habrá un índice al principio de todas las páginas. Las cajas del índice se presentan cuando se está visualizando la página del artículo, en los restantes casos -búsqueda, índice, tags, etc- no aparecen.

Para facilidad al momento de agregar capítulos se ha agregado un botón en el editor gráfico.

Estos tags no se deben usar en un mismo post junto con ‘nextpage’.

Para los que les gusta programar en los templates existe la función chap_list() que retorna false si no hay lista de capítulos, o la lista si existe una. Esta función se debe usar después de llamar la función the_post(). De momento la uso en un template en desarrollo para mostrar en una barra horizontal los capítulos, como si se trataran de subíndices de la sección.

La instalación del plugin requiere dos pasos extra:

  1. Agregar una línea de código en /wp-includes/query.php
    if(function_exists('ind_prepost')) $content = ind_prepost($post);

    Esta línea se debe agregar en la funcion ’setup_postdata($post)’ después de ‘$content = $post->post_content;’

  2. Agregar los elementos del CSS a su lista de estilos, si lo desea, y modificarlo

Estoy buscando la forma de evitar tener que hacer las modificaciones al código de WordPress.

El plugin está bajo licencia GPL para que lo usen, abusen y descuarticen, solo recuerden dar los créditos del caso.