La paginación de WordPress no funciona: ¡haz ESTO!

La paginación en WordPress es extremadamente útil para ayudar a los visitantes a navegar por su sitio.

Hasta ese momento, hacen clic en un enlace para obtener una página de error 404.

En el mejor de los casos, la página 404 tendrá un enlace a la página de inicio.



En el peor de los casos, no tendrá ningún enlace de navegación y perderá al visitante del sitio web por eso.

Cuando sus enlaces de paginación en WordPress dejan de funcionar, debe encontrar el problema y solucionarlo para restaurar la funcionalidad de navegación de su sitio.

 

La paginación de WordPress no funciona

Restablecer sus enlaces permanentes puede arreglar enlaces de paginación rotos. Si está utilizando un generador de páginas, la paginación en el complemento debe coincidir con la configuración máxima de publicación en la configuración general de lectura. Una solución manual es editar la plantilla de archivo PHP para agregar el estilo de paginación directamente a su plantilla de tema.

 

Comprender la codificación que hace posible la paginación

La paginación en WordPress utiliza codificación PHP. Un lenguaje de secuencias de comandos que se puede romper fácilmente con un solo signo de puntuación en el lugar equivocado.

Un corchete que falta puede generar un error 404.

La buena noticia es que los códigos de todos los temas se basan en el sistema de codificación central de WordPress, por lo que es bastante fácil encontrar las partes que hacen que la paginación funcione.

Las etiquetas de paginación se escriben en PHP y se colocan en cada plantilla de página dentro de su tema donde aparecen los enlaces de paginación: index.php, archive.php, search.php, single.php, category.php, etc.

Dondequiera que los enlaces de paginación no funcionen en su sitio, esa es la plantilla que debe buscar para encontrar el código roto.

Si encuentra que los enlaces de paginación están rotos en su sitio, probablemente sea la plantilla index.php. Si solo está en las páginas de archivo, edite la plantilla del archivo archive.php.

 

Los bucles que hacen que la paginación funcione

Dentro de cada uno de los archivos de plantilla de su página, existe la infame función de bucle de WordPress. Comienza con 'while' seguido de 'if' y termina con 'endwhile'.

La codificación estándar en los archivos de plantilla es

<?php if (have_posts)() :
while (have_posts()) : the_post();
  get_template_part('content', get_post_format())'
  endwhile;

 

Endwhile cierra el ciclo y ahí es donde se insertan los enlaces de paginación.

 echo paginate_links();
  else:
  echo '<p>No content found</p>

 

Si no es 'echo paginate_links', será uno de los otros códigos de paginación, como previous_posts_link y newer_posts_link, que generalmente son los que se usan en la plantilla de publicación única, ya que muestran la próxima publicación nueva publicada y la última publicación publicada.

Es importante tener en cuenta que las etiquetas 'paginate_links' solo funcionan si es la paginación de su tema.

Si está utilizando un complemento, el código llamará a la etiqueta de plantilla para su complemento de paginación, como 'get_wp-pagenavi' o alguna otra plantilla de complemento de paginación.

Las soluciones más simples para probar antes de investigar los errores de codificación

El único momento real en el que es probable que tenga errores de codificación que requieran que edite plantillas de archivos de temas es cuando introduce tipos de publicaciones personalizadas y ejecuta varias solicitudes de 'obtención' para ejecutar sus propias consultas de paginación personalizadas. Esos tienden a volverse difíciles de manejar rápidamente.

Si está utilizando alguno de los muchos Complementos de paginación de WordPress , las soluciones son mucho más sencillas, ya que involucran la solución de problemas de apuntar y hacer clic, en lugar de codificar un parche.

Los desarrolladores de complementos manejan las correcciones de errores e implementan una actualización del complemento para solucionar el problema.

 

Restablece tus enlaces permanentes

La paginación en WordPress es dinámica, lo que significa que se basa en la estructura de URL (dirección del sitio).

Si usa una estructura de enlace permanente personalizada como %categoría%/%nombre de la publicación%, la función de paginación buscará primero la categoría y luego el nombre de la publicación.

Si la primera instancia de 'categoría' elimina la URL, se quedará con una estructura de URL de yoursite.com/category-name/page-2, (faltando la primera 'categoría' en la URL), lo que resultará en un mensaje de error 404 no encontrado.

La URL debe ser...

Yoursite.com/category/category-name/page-2. (o cualquiera que sea su estructura de enlace permanente personalizada).

Para restablecer sus enlaces permanentes, debe guardarlos como cualquier otra cosa, que no sea su configuración actual, y luego revertirla.

Vaya a 'Configuración> Enlaces permanentes', cambie a algo más como 'simple', presione 'guardar cambios', luego vuelva a colocarlos en su estructura personalizada de enlaces permanentes y guarde los cambios nuevamente.

El guardado repetido se realiza para restablecer la estructura de enlaces permanentes en todas las plantillas de su página.

Verifique que no haya un complemento que entre en conflicto con su configuración general de lectura

Si está utilizando un complemento de creación de páginas que tiene funcionalidad de paginación, debe coincidir con su configuración de lectura general.

Como ejemplo, al usar el generador de páginas Elementor, puede agregar un widget de publicaciones recientes dentro de una página para mostrar su lista de blogs y paginar las páginas (aunque solo en la versión pro).

Sin embargo, si la configuración en el generador de páginas es diferente a su configuración de lectura general, habrá un conflicto que resultará en un error 404.

Para que la paginación funcione dentro de las páginas creadas con un complemento de creación de páginas, necesita la configuración de paginación en su complemento de creación de páginas y la configuración de lecturas generales para que coincida.

En términos simples, los creadores de páginas que tienen la paginación configurada para mostrar 6 publicaciones como máximo no anularán la configuración de lectura general establecida en 10.

Debería cambiar ambos para mostrar seis publicaciones (o la cantidad que desee mostrar) como máximo para evitar conflictos que rompan la paginación.

 

Arreglando conflictos de complementos

Si encuentra que su configuración de lectura general está en conflicto con otro complemento, a veces, debe desactivar todos sus complementos, vaciar el caché y luego guardar su configuración de lectura general antes de hacer coincidir la misma configuración en el creador de páginas para mostrar lo mismo. número de publicaciones establecidas en la configuración general de lectura.

Reparación de enlaces de paginación rotos para tipos de publicaciones personalizadas

Los tipos de publicaciones personalizadas enfrentan el mismo problema conflictivo. Puede codificar un tipo de publicación personalizada para incluir paginación con una limitación en la cantidad de publicaciones para mostrar.

Sin embargo, si la configuración de lectura general es diferente, puede haber un conflicto.

Como ejemplo, el siguiente código

<?php
 $paged = (get_query_var('paged')) ? get_query_var('paged') : 10;
    query_posts(array(
    'post_type' => 'yourcustomposttypename', // your yourcustomposttypename name
    'paged' => $paged,
    'orderby'=>'date',
    'posts_per_page' => 10 // set this to desired #
 ));
?>

 

… ejecuta la “variable de consulta de obtención” para la paginación que limita los resultados de la publicación para mostrar 10 como máximo. Si tiene la configuración de lectura general establecida en 6, el conflicto puede generar un mensaje de error 404 no encontrado.

Haga coincidir su máximo 'paginado' para que sea el mismo que el número máximo de publicaciones que estableció en la configuración general de lectura, guarde los cambios, vacíe el caché y actualice la página.

Arreglar la codificación en conflicto debería resolver el problema.

 

Limpia tu caché para ver los cambios

Si ejecuta complementos de caché o tiene un CDN conectado como Cloudflare, deberá vaciar los cachés y borrar las cookies de su sitio de su navegador antes de ver los cambios en vigor.

 

Reparación de enlaces de paginación rotos en una página de inicio estática

En una página de inicio estática, la única diferencia con los códigos utilizados para la paginación es que 'página' se usa en forma singular 'en lugar de' paginado '.

En una página de inicio estática, la paginación debe usar la variable 'página' en lugar de 'paginado', que solo se usa para páginas dinámicas.