Come aggiungere la paginazione in WordPress per sostituire la navigazione Prev/Next

Se decidi di avviare un blog WordPress, l’impostazione predefinita per le pagine dell’archivio di paginazione di WordPress è Prev/Next. Questa impostazione è sufficiente per la maggior parte delle persone che probabilmente non ci penserebbero due volte. Ma se sei del tipo pignolo che ama modificare ogni piccola cosa, potresti voler che le tue pagine mostrino invece i numeri di pagina.
Se questo è il caso, hai due opzioni. Puoi modificare il codice oppure puoi prendere la via più semplice e utilizzare un plugin.
Indice dei contenuti
- Aggiungere la paginazione a un blog WordPress senza un plugin
- Posso suddividere un singolo post o pagina di WordPress in più pagine?
- Utilizzare un plugin WordPress per sostituire Prev/Next con numeri
Aggiungere la paginazione a un blog WordPress senza un plugin
Se l’idea di utilizzare un altro plugin non è molto allettante (dopo tutto, rallentano il tuo sito), potresti decidere che modificare il codice è la soluzione migliore. In realtà non è così difficile se sai dove cercare. Se non lo sai, te lo mostreremo.
Per prima cosa, hai bisogno di un programma FTP. Questo è semplicemente un programma che accede al tuo sito web e visualizza i file del sito. Il più popolare è FileZilla, ma puoi usare quello che vuoi. Personalmente utilizzo CyberDuck. Entrambi sono gratuiti, ma CyberDuck ha un fastidioso pop-up per donare allo sviluppatore.
Accedi al tuo sito utilizzando il tuo programma FTP e vedrai i file.

Ora cerca un file chiamato functions.php. Si trova nella cartella del tuo tema che di solito si trova in /wp-content/themes/NOME DEL TEMA. Apri il file functions.php con un editor di testo e aggiungi il seguente codice alla fine del file. Ricorda di salvare le modifiche al file successivamente.
function numeric_posts_nav(){
if( is_singular())
return;
global$wp_query;
/** Fermare l'esecuzione se c'è solo 1 pagina */
if($wp_query->max_num_pages<=1)
return;
$paged= get_query_var('paged') ? absint( get_query_var('paged')):1;
$max=intval($wp_query->max_num_pages);
/** Aggiungi la pagina attuale all'array */
if($paged>=1)
$links[]=$paged;
/** Aggiungi le pagine intorno alla pagina attuale all'array */
if($paged>=3){
$links[]=$paged-1;
$links[]=$paged-2;
}
if(($paged+2)<=$max){
$links[]=$paged+2;
$links[]=$paged+1;
}
echo'
'."\n";
/** Link al post precedente */
if( get_previous_posts_link())
printf('
%s
'."\n", get_previous_posts_link());
/** Link alla prima pagina, più i puntini se necessario */
if(!in_array(1,$links)){
$class=1==$paged ? ' class="active"':'';
printf('%s'."\n",$class, esc_url( get_pagenum_link(1)),'1');
if(!in_array(2,$links))
echo'
…
';
}
/** Link alla pagina corrente, più 2 pagine in entrambe le direzioni se necessario */
sort($links);
foreach((array)$linksas$link){
$class=$paged==$link ? ' class="active"':'';
printf('%s'."\n",$class, esc_url( get_pagenum_link($link)),$link);
}
/** Link all'ultima pagina, più i puntini se necessario */
if(!in_array($max,$links)){
if(!in_array($max-1,$links))
echo'
…
'."\n";
$class=$paged==$max ? ' class="active"':'';
printf('%s'."\n",$class, esc_url( get_pagenum_link($max)),$max);
}
/** Link al post successivo */
if( get_next_posts_link())
printf('
%s
'."\n", get_next_posts_link());
echo'
'."\n";
}Successivamente, apri il file in cui viene mostrata la paginazione. Questo è di solito il file index.php e archive.php. Incolla il seguente codice per visualizzare la paginazione.