Vai a: [ Contenuti ] [ Categorie ] [ Cerca ]

Wordpress: numero di articoli differente in base al tema caricato

Wordpress: numero di articoli differente in base al tema caricato


Mi sono trovato nella condizione di dover gestire due temi differenti sulla stessa installazione di Wordpress. Il primo layout è caricato di default mentre l’altro è per la versione Mobile del sito e viene visualizzato solo su cellulari, PDA e smartphone.

Avevo bisogno di gestire, quindi, due diversi valori per il limite massimo di post nelle pagine. Per essere più chiari, mi riferisco alla voce presente nell’amministrazione sotto:

Impostazioni > Lettura > Le pagine del blog visualizzano al massimo…

A seconda del layout caricato volevo valori diversi. Per risolvere ho scritto questa semplice funzione:

1
2
3
4
5
6
7
8
function mobile_posts_per_page() {
	global $paged, $query_string;
 
	$page_num = $paged;
	if ($pagenum = '') $pagenum = 1;
 
	query_posts($query_string .'&showposts=' .get_option('cfmobi_posts_per_page'). '&paged=' .$page_num);
}

Il codice può essere inserito nel file functions.php del tema secondario e poi richiamato in pagine specifiche dove la modifica avrà effetto.

Ecco un esempio della mia index.php nella versione mobile:

1
2
3
4
<?php
mobile_posts_per_page();
get_header();  
?>

In questa maniera il tema principale avrà come riferimento il valore impostato nell’amministrazione mentre il secondo avrà un limite differente.

Notare che per settare il numero di post da caricare ho utilizzato un parametro nel database (inserito tramite plugin) richiamato poi con la funzione ‘get_option()‘ di Wordpress.

Nello specifico mi riferisco a:

1
get_option('saibal_mobile_posts_per_page')

Se non avete questa necessità e magari volete cambiare valore a seconda della pagina interessata, potete passare il parametro come argomento di funzione:

1
2
3
4
5
6
7
8
9
function mobile_posts_per_page($n_posts='') {
	global $paged, $query_string;
 
	$page_num = $paged;
	if ($n_posts = '') $n_posts = 10;
	if ($pagenum = '') $pagenum = 1;
 
	query_posts($query_string .'&showposts=' .$n_posts. '&paged=' .$page_num);
}

Ancora più brutalmente, se le vostre esigenze sono minime, potete scrivere il valore direttamente nella funzione.

link sponsorizzati

Consiglialo su Facebook

Lascia un Commento

Iscriviti alle discussione senza commentare

Torna: [ Inizio ] [ Contenuti ] [ Categorie ] [ Cerca ]

Pagina renderizzata in soli 0,763 secondi dopo aver eseguito ben 59 query. Wordpress... prestazioni da urlo!