web-dev-qa-db-fra.com

Pagination sur la 2ème boucle

OK, je crée un site de liste d’entreprises qui utilise une taxonomie personnalisée pour le "type" de liste. J'ai besoin d'afficher deux boucles sur la page d'archive de taxonomie, une pour les listes "sponsorisées" et une pour les normales.

archives taxonomiques: http://pastie.org/3187162

fonction de pagination: http://pastie.org/3187168

Les deux parties font exactement ce que je veux, avec un seul accroc: il y a environ 50 annonces non sponsorisées dans une catégorie spécifique, mais la seconde requête est limitée à 5 "pages" (c'est-à-dire 25 si je règle posts_per_page à 5, 35 si je règle posts_per_page à 7)

Je suis perplexe. Des idées?

UPDATE

FWIW, j'ai testé la disposition du code ici: http://www.kriesi.at/archives/how-to-build-a-wordword-post-pagination-without-plugin et ça marche un peu mieux, en ce sens que je reçois le nombre total de "pages" qu'il devrait avoir. Mais cela me donne toujours un 404 après la page 5.

1
Norcross

Le problème est qu'avant le chargement de vos requêtes personnalisées, WordPress exécute la requête de taxonomie principale (tous les résultats correspondant à ce terme fiscal, 10 par page). Sur la page 6, la requête principale tente de charger les publications 51 à 60 et, comme elles n'existent pas, les pages 404 avant de pouvoir charger votre requête personnalisée.

Personnalisez la requête principale à l'aide du hook pre_get_posts de sorte que la deuxième boucle que vous réalisez soit la requête principale. Ajoutez ceci à functions.php: https://Gist.github.com/1616098

Ensuite, pour votre deuxième boucle, faites juste:

if( have_posts() ): while( have_posts() ): the_post();

Plus d'informations: http://www.billerickson.net/customize-the-wordpress-query/

2
Bill Erickson

Sortez l'objet wp_query sur la 404 et voyez ce qui se passe à l'intérieur. Cela peut donner un aperçu.

Sur votre modèle 404, ajoutez global $ wp_query; print_r ($ wp_query);

0