Numeración de páginas en WordPress

Introducción

Ya estamos de miércoles de WordPress, y hoy le toca al asunto de la paginación. Este es otro de los complementos que he estado utilizando en el sitio, hasta que descubrí que la frase hecha de «hazlo tu mismo» cobra verdadero sentido en el mundo de WordPress, PHP, HTML, CSS, …

Una de las evidencias mas claras del éxito del software libre, por lo menos en lo relacionado a Internet, es precisamente Worpdress. Esto lleva a que existan miles de complementos que permiten hacer prácticamente cualquier cosa que te puedas imaginar.

El problema de estos complementos radica en el mantenimiento. Si el complemento que instalaste tiene detrás un desarrollador preocupado por que funcione correctamente a pesar del paso de versiones de WordPress, o cuando encuentres algún error, no habrá problema. Pero en el momento que el desarrollador discontinua el mantenimiento nos encontramos en un callejón sin salida. Solución hazlo tu mismo. Aparte de esto, puedes controlar mas de cerca el rendimiento del sitio.

0008_Selección.png

Numeración de páginas en Worpress

Al igual que sucede con las otras modificaciones relacionadas con WordPress, hay que hacer cambios en varios puntos distintos para conseguir el resultado que perseguimos.

Modificando Functions.php

Primero modificamos el archivo functions.php del tema hijo, al que añadiremos la siguiente función

    /**
     * My own pagination
     */ 
    function my_own_pagination($currentpage = '', $pages = '', $range = 2){  
         $showitems = ($range * 2)+1;  
         global $paged;
         if($currentpage != ''){
             $paged = $currentpage;
         }
         if(empty($paged)) $paged = 1;
         if($pages == ''){
             global $wp_query;
             $pages = $wp_query->max_num_pages;
             if(!$pages){
                 $pages = 1;
             }
         }   
         if(1 != $pages){
             echo "\n";
         }
    }

En esta función he eliminado todas las referencias relacionadas con la traducción, dado que por ahora, solo lo voy a utilizar en un idioma.

Modificando style.css

El siguiente paso es modificar la hoja de estilos para darle el toque que buscas

.pagination {
    clear:both;
    padding:20px 0;
    position:relative;
    line-height:13px;
}
.pagination span, .pagination a {
    display:block;
    float:left;
    margin: 5px 5px 5px 0;
    padding:12px 14px;
    text-decoration:none;
    width:auto;
    color:#fff;
    background: #555;
}
.pagination a:hover{
    color:#fff;
    background: #3279BB;
}
.pagination .current{
    padding:12px 20px 12px 20px;
    background: #3279BB;
    color:#fff;
}

Modificando blog-excerpt.php

Por último, en los archivos donde quieras añadir la paginación (recuerda hacerlo siempre en el tema hijo), tienes que añadir el siguiente código justo después de endwhile

        max_num_pages > 1 ){
            my_own_pagination($thepage); 
        }?>

Conclusiones

Este cambio es realmente sencillo de realizar, y el resultado lo puedes adaptar perfectamente al estilo de tu página con no mucho esfuerzo, y sin lugar a dudas, te quitarás el problema del mantenimiento.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *