2016-01-26 1 views
0

Je possède ce code:messages par page sont encore 10

query_posts(array(
    'paged' => $paged, 
    'post_status' => 'publish', 
    'posts_per_page' => 6, 
    'cat' => $term_id, 
    'orderby' => 'date', 
    'order' => 'DESC', 
    'post_type' => 'post' 
)); 

while (have_posts()) { 
    the_post(); 
    ... 
} 

Mais je comprends toujours 10 messages non seulement 6. Aussi get_query_var('posts_per_page', 1) me obtenir une valeur 10 au lieu de 6. Pourquoi?

Cela se passe sur la page category.php, sur la page d'accueil, il fonctionne correctement.

Répondre

0

Essayez cette

$args = array ( 
     'paged' => $paged, 
     'post_status' => 'publish', 
     'posts_per_page' => 6, 
     'cat' => $term_id, 
     'orderby' => 'date', 
     'order' => 'DESC', 
     'post_type' => 'post' 
    ); 
$query = new WP_Query($args); 
if ($query->have_posts()) : 
    while ($query->have_posts()) : $query->the_post(); 
    /* Your Code */ 
    endwhile; 
endif ; 
1

Vous utilisez toujours la requête par défaut. Utilisez ceci à la place:

// The Query 
    $the_query = new WP_Query(array(
    'paged' => $paged, 
    'post_status' => 'publish', 
    'posts_per_page' => 6, 
    'cat' => $term_id, 
    'orderby' => 'date', 
    'order' => 'DESC', 
    'post_type' => 'post' 
    )); 

// The Loop 
if ($the_query->have_posts()) { 
+0

Oui cela fonctionne mais je me demande pourquoi le paramètre 'posts_per_page' ne fonctionne pas sur query_posts? – quarky

+0

Cela fonctionne très bien, mais il ne sera pas interroger plus de messages que vous avez spécifié, aussi je ne suis pas sûr de ce que vous attendez de faire. –

0

Celui-ci travaillera pour vous. modifier la variable globale directe.

global $query_string; 
    query_posts("{$query_string}&posts_per_page=6"); 

    while (have_posts()) { 
     the_post(); 
     ... 
    }