Di default la paginazione degli articoli in WordPress prevede in home page i link “precedente” e “successivo”. Vediamo oggi come avere una paginazione numerica senza usare i vari plugin tipo Pagenavi agendo come al solito via codice.
Semplice codice in functions.php
Apri come al solito functions.php e inserisci il codice seguente:
[php]// Pagenavi
function kode_pagenavi( $p = 10 ) { // pagine da visualizzare prima e dopo la pagina corrente
if ( is_singular() ) return;
global $wp_query, $paged;
$max_page = $wp_query->max_num_pages;
if ( $max_page == 1 ) return;
if ( empty( $paged ) ) $paged = 1;
echo ‘ ‘;
if ( $paged > $p + 1 ) p_link( 1, ‘Prima’ );
if ( $paged > $p + 2 ) echo ‘←’;
for( $i = $paged – $p; $i <= $paged + $p; $i++ ) {
if ( $i > 0 && $i <= $max_page ) $i == $paged ? print "{$i} ” : p_link( $i );
}
if ( $paged < $max_page - $p - 1 ) echo '→';
if ( $paged < $max_page - $p ) p_link( $max_page, 'Ultima' );
}
function p_link( $i, $title = '' ) {
if ( $title == '' ) $title = "Pagina → {$i}";
echo "{$i}“;
}[/php]
Ora richiama la funzione nelle pagine dei vari template, per esempio in index.php inserendo questo codice:
[php]
[/php]
Aggiungiamo un po di style
Come base di partenza puoi usare l’esempio che ti propongo qui di seguito, si tratta dello style in uso su WPStyle. Puoi partire da qui per personalizzarlo a piacere.
[css]/* Pagenavi */
.navigation{margin-top:10px;height:25px;font-size:13px}
.navigation a{color:#595959}
.navigation a:hover{color:#8F8F8F;text-decoration:none}
.page-numbers a:link{background:#DEDEDE;color:#666666;padding:4px 6px 4px 6px;margin-right:4px;}
.page-numbers a:hover{background:#BFBFBF;color:#fff}
.currentpage, .currentpage a:hover{background:#BFBFBF;color:#757575;padding:4px 6px 4px 6px}[/css]
Buona Pagenavi a todos!