Correction de la pagination 404 du type de message personnalisé?

8

J'ai essayé de faire fonctionner ça toute la journée mais je n'ai pas eu de chance ...

J'ai un type de publication personnalisé appelé 'news' et un modèle d'archive (archive-news.php), ici, je voudrais afficher 2 publications avec pagination, ce qui fonctionne bien, jusqu'à ce que j'essaie d'aller à la 'page suivante' ( / news / page / 2) qui renvoie une erreur 404.

Une idée de comment résoudre ce problème / ce que je fais mal?

J'ai littéralement passé toute la journée à essayer de trouver une solution à cela en recherchant Google et les formulaires WordPress, j'ai trouvé beaucoup de solutions, dont aucune n'a fonctionné jusqu'à présent.

Ma fonction de type de publication personnalisée: http://pastebin.com/uG1L6YNu
Mes règles de réécriture s'impriment: http://pastebin.com/jbaDANYr

Dale-Anthony
la source
oh et aussi ... Mon fichier news-archive.php: pastebin.com/vjcx77F7
Dale-Anthony

Réponses:

16

Cela fonctionne maintenant pour moi ... pour ceux d'entre vous ayant le même problème, il s'avère que tout le code était correct.

Le problème était que WordPress est configuré pour afficher 10 messages par page par défaut, ce qui heurtait ma requête (la limitant à 2 messages) pour résoudre le problème.J'ai changé le paramètre WordPress (Paramètres / Lecture dans le tableau de bord d'administration) à 1.

Dale-Anthony
la source
1
Ce problème revient tout le temps. À mon humble avis, les types de publication personnalisés ne sont pas des publications régulières, il devrait donc y avoir une variable de requête posts_per_page distincte pour chaque type de publication. Anyhoo, voici une réponse qui montre comment jouer avec la valeur posts_per_page à la volée sans jouer avec le réglage dans l'admin: wordpress.stackexchange.com/questions/30757/…
Dave Romsey
Cette question de goto10 fonctionne comme un charme et c'est mieux si vous voulez toujours utiliser le paramètre de publication par page pour d'autres pages, je suis toujours curieux de savoir pourquoi cela se produit, c'est la première fois que cela m'est arrivé, j'ai pu à l'utilisateur posts_per_pagecomme d'habitude avant sans heurter les paramètres WP.
Javier Villanueva
2
Merci beaucoup pour cette info! J'ai arraché mes cheveux en jouant avec les règles de réécriture et tout le reste, et il s'avère que c'est le problème.
Chaser324
Nous sommes en 2019, et cette réponse est toujours valable! Incroyable.
Cenlan
7

J'ai trouvé la solution ici: http://walrusinacanoe.com/web-development/742

Il est élégant et fonctionnel:

add_action( 'parse_query','changept' );
function changept() {
    if( is_category() && !is_admin() )
        set_query_var( 'post_type', array( 'post', 'your_custom_type' ) );
    return;
}
eveevans
la source
1
Cela a vraiment fonctionné pour moi. L'autre solution (WP-Admin / Paramètres / Lecture / 1) ne fonctionnait pas du tout. Merci pour cela! (heures gaspillées de débogage et de recherche)
TCattd
0

Vous avez probablement essayé cela, mais la réinitialisation des permaliens peut résoudre ce problème. Allez dans Paramètres-> Permaliens et enregistrez à nouveau les permaliens.

danielwiener
la source
Merci, j'ai essayé, mais le problème restait.
Dale-Anthony