web-dev-qa-db-fra.com

posts_per_page & conflit de pagination

J'ai une requête personnalisée pour afficher mon type de publication personnalisé. posts_per_page mis à '5'. Dans les publications administratives par page, paramétrez sur '10' (paramètres => Lecture => les pages de blog affichent au plus 10 publications). Mon modèle répertorie 5 publications par page. Si j'ai 15 articles, cela doit être affiché en 3 pages, , mais à la troisième page, je reçois une erreur 404. Donc, ma pagination utilise les paramètres de l'administrateur (10 articles par page). Comment puis-je le réparer?

global $paged;
query_posts(array(
    'post_type' => 'custom_post_type',
    'posts_per_page' => 5,
    'orderby' => 'title',
    'order' => 'ASC',
    'paged' => $paged
    ));

while (have_posts()) : the_post();
    the_title();
endwhile;

next_posts_link('Next');
previous_posts_link('Prev');
1
user9909

La pagination est calculée avant que vous obteniez le fichier de modèle qui exécute query_posts. La méthode appropriée pour modifier posts_per_page conditionnellement consiste à utiliser le crochet pre_get_posts pour modifier la requête principale.

1
helenhousandi