Jueves , diciembre 8 2016
Inicio / Tutoriales / Problema paginación WordPress 4.4.1

Problema paginación WordPress 4.4.1

Que más de la mitad de la red tiene instalado WordPress es algo que se sabe desde hace años. Aunque sea uno de los mejores CMS podemos encontrar problemas cuando actualizamos a la última versión. En nuestro caso hemos detectado que desde la actualización de hace un par de días a WordPress 4.4.1 nuestra web no le funcionaba la paginación WordPress y hemos encontrado la solución.

Paginación WordPress

paginación WordPress

Debemos acudir al archivo wp-includes/canonical.php en las líneas 264-270 debemos cambiar este código:


<?php
                // Post Paging
                if ( is_singular() && ! is_front_page() && get_query_var('page') ) {
                        if ( !$redirect_url )
                                $redirect_url = get_permalink( get_queried_object_id() );
                        $redirect_url = trailingslashit( $redirect_url ) . user_trailingslashit( get_query_var( 'page' ), 'single_paged' );
                        $redirect['query'] = remove_query_arg( 'page', $redirect['query'] );
                }

Por este:

<?php // Post Paging if ( is_singular() && get_query_var('page') && ( !is_front_page() || ( isset($wp_query->queried_object) && 'page' == get_option('show_on_front') && $wp_query->queried_object->ID == get_option('page_on_front') ) ) ) { 
                                if ( !$redirect_url ) 
                                                $redirect_url = get_permalink( get_queried_object_id() ); 
                                $page = get_query_var( 'page' ); 
                                if ( is_front_page() ) { 
                                                $redirect_url = trailingslashit( $redirect_url ) . user_trailingslashit( "$wp_rewrite->pagination_base/$page", 'paged' ); 
                                } else { 
                                                $redirect_url = trailingslashit( $redirect_url ) . user_trailingslashit( $page, 'single_paged' ); 
                                } 
                                $redirect['query'] = remove_query_arg( 'page', $redirect['query'] ); 
                } 

Con esto tendremos el problema resuelto. Os recomiendo hacer copia de seguridad del archivo original, por si existe algun problema a la hora de actualizarlo.

Sobre Miguel Ángel Navas

Amante de la informática, los smartphones y la tecnología en general. Técnico superior en Administración de sistemas informáticos y redes, certificado en CISCO y un reviewer sin pelos en la lengua. Cualquier duda o cuestión aquí me tenéis.