2012-08-17 20 views
21

Devo montare manualmente i post del blog, ma non sono sicuro che questo sia il modo corretto di funzionare, porta solo 9 pagine, con 4 post ciascuna, ma il blog ha 83 post!get_posts non restituisce tutti i post

<?php 
    $paged = get_query_var('paged'); 
    $args = array(
     'numberposts'  => 4, 
     'offset'   => $paged*4, 
     'orderby'   => 'post_date', 
     'order'    => 'DESC', 
     'post_type'   => 'post', 
     'post_status'  => 'publish', 
     'suppress_filters' => true 
    ); 
    $posts_array = get_posts($args); 
?> 

Grazie comunque.

+0

Controlla che tutti i tuoi 83 post siano "pubblicati". – Libin

+0

sì, sono tutti pubblicati, ma ho notato che porta solo post con "nessuna categoria", come posso ottenere tutti i post comprese le altre categorie? –

risposta

71

Il problema è il tuo 'numberposts' è impostato su 4 metterlo a -1 per ottenere tutti i messaggi:

'numberposts'  => -1, 

Se non si imposta numberposts qui, WordPress tirerà il numero di posti dal Impostazioni di Dashboard (in Impostazioni -> Lettura)

+3

uomo ... tu salvi la mia giornata .. grazie .. dal modo in cui io non imposto le posizioni numeriche .. ma ha il valore predefinito da WP quindi l'ho impostato su -1 per forzare WP a ottenerlo –

+0

Funziona ancora? – Niels

+0

Salvato il mio giorno +1 ... – Si8

5

La seguente nota proviene da questo codex section.

Nota: Con l'uso della compensazione, l'interrogazione di cui sopra dovrebbe essere utilizzato solo su una categoria che ha più di un posto in esso, altrimenti non ci sarà uscita.

Quindi, per visualizzare tutti i post, dovrebbero esserci almeno 2 post in ciascuna categoria.

Si può provare Loops per ottenere tutti i messaggi. Controllare anche The Loop in Action.

Problemi correlati