La pagination ne fonctionne pas
-
-
Avez-vous vu [this] (http://wordpress.stackexchange.com/questions/4696/pagination-not-working-with-custom-loop)?Have you seen [this](http://wordpress.stackexchange.com/questions/4696/pagination-not-working-with-custom-loop)?
- 0
- 2013-09-09
- fuxia
-
@toscho Oui,les réponses suggérées contiennent le code quiestpresque lemême que dansma question.@toscho Yes, suggested answers contain the code that is almost the same like in my question.
- 0
- 2013-09-09
- Paul
-
Voir: http://wordpress.stackexchange.com/a/109234/21376See: http://wordpress.stackexchange.com/a/109234/21376
- 0
- 2013-09-09
- s_ha_dum
-
@s_ha_dum Cela ressemble à ce dontj'aibesoin!Cependant,je ne saistoujourspas comment activer lapagination.Quandje fais `$ qry-> set ('paged',$paged);` dansfunctions.php,tout/mypage/page cesse defonctionner.@s_ha_dum It looks like what I need! However, I still have no idea how to enable pagination. When I do `$qry->set( 'paged', $paged );` in functions.php, entire /mypage/ page stops working.
- 0
- 2013-09-09
- Paul
-
Deplus,je pense quema requêteprincipale qui charge/mypage/estbien.Je voudrais lister les articles avecpagination dans uneboucle secondaire sur cettepage.Votre réponse couvre-t-elle également cette situation?Il semble que ce soitpourmodifier la requêteprincipale uniquement.Furthermore, I think that my main query which loads /mypage/ is alright. I'd like to list posts with pagination in a secondary loop on that page. Does your answer cover that situation too? It looks like it's for modifying the main query only.
- 0
- 2013-09-09
- Paul
-
Voir ceci alors: http://wordpress.stackexchange.com/search?q=user%3A21376+paginate_linksSee this then: http://wordpress.stackexchange.com/search?q=user%3A21376+paginate_links
- 0
- 2013-09-09
- s_ha_dum
-
@s_ha_dum Mercipour le lien!Je vérifietoutes les réponseset aucunen'afonctionnéjusqu'àprésent.Chaque réponse quej'aitrouvéejusqu'àprésent ressemble à ceci: http://stackoverflow.com/a/4795366/1074346 - c'est un simplemorceau de code,une réponse votéeet acceptéemais ... celane fonctionnepasparce queje reçois"404 -introuvable".Maboucle ressemble à laboucle de cetypeet `next_posts_link ()` retourne le lien correctmais le lien quiest retournéne fonctionnepas avec "Custom Permalink Structure".Iln'estprobablementmêmepas lié à `$ wp_query`et` $paged`.Avec "Default Permalink Structure" celafonctionne.@s_ha_dum Thank you for the link! I check all the answers and none worked so far. Every single answer that I found so far looks like this: http://stackoverflow.com/a/4795366/1074346 - it is a simple piece of code, upvoted and accepted answer but... it doesn't work because I get "404 - not found". My loop looks like this guy's loop and `next_posts_link()` returns the correct link but the link that is returned doesn't work with "Custom Permalink Structure". It is probably not even related to `$wp_query` and `$paged`. With "Default Permalink Structure" it works.
- 0
- 2013-09-09
- Paul
-
vous avezessayé cela sanspluginset avec lethèmepar défaut actif?votre codefonctionnetel quelpourmoi.you've tried this with no plugins and with default theme active? your code works as-is for me.
- 0
- 2013-09-09
- Milo
-
@Milo C'est correct.Twenty Thirteennonmodifié,0plugins activés,WordPress 3.6,WAMP sous Windows 7. Lesjolispermaliensfonctionnent sauf que/page/2/et/page/2/fonctionnent également simyfile.phpest réglé sur "Static Front Page".@Milo That is correct. Unmodified Twenty Thirteen, 0 plugins activated, WordPress 3.6, WAMP on Windows 7. Pretty permalinks work except /page/2/ and /page/2/ also works if myfile.php is set to "Static Front Page".
- 0
- 2013-09-09
- Paul
-
jetez un œil à la requête qu'ilenvoie à labase de données sur la requêteprincipale lorsqu'il renvoie un 404. Jene peuxpas reproduire cela,doncje ne saispas quelpeut être leproblème.have a look at the query it's sending to the database on the main query when it's returning a 404. I can't reproduce this, so not sure what the issue may be.
- 0
- 2013-09-09
- Milo
-
404.php quandj'entre http://example.com/mypage/page/2montre: `SELECT wp_posts. * FROM wp_posts WHERE 1=1 AND wp_posts.post_name='page' AND wp_posts.post_type='my_custom_post_type' ORDER BYwp_posts.post_date DESC`404.php when I enter http://example.com/mypage/page/2 shows: `SELECT wp_posts.* FROM wp_posts WHERE 1=1 AND wp_posts.post_name = 'page' AND wp_posts.post_type = 'my_custom_post_type' ORDER BY wp_posts.post_date DESC`
- 0
- 2013-09-09
- Paul
-
C'est la requêteprincipalenonmodifiée?pourquoiessaie-t-il d'interroger votretype depublicationpersonnalisé?That's the unaltered main query? why is it trying to query your custom post type?
- 0
- 2013-09-09
- Milo
-
Jene saispas,le code complet quej'utiliseestprésent dansma question.Il s'agit du contenu complet demyfile.php quiest défini sur/mypage/dans Panneau d'administration> Pages> Mapage.Etpour obtenir cette requête,j'ai utilisé `echo $ GLOBALS ['wp_query'] -> request;` dans 404.php.I don't know, the full code that I'm using is present in my question. This is the full content of myfile.php which is set to /mypage/ in Admin Panel > Pages > My Page. And to get this request I used `echo $GLOBALS['wp_query']->request;` in 404.php.
- 0
- 2013-09-09
- Paul
-
Si vous êtesen 404.php,votre coden'estpas chargé sur un 404,quelque chose d'autre définit cette requête sur votretypepersonnalisé au lieu d'unepage.avez-vous destrucs `pre_get_posts` accrochés quelquepart?If you're in 404.php, then your code isn't loaded on a 404, something else is setting that query to your custom type instead of a page. do you have any `pre_get_posts` stuff hooked anywhere?
- 0
- 2013-09-09
- Milo
-
`pre_get_posts` -non,nullepart.Il s'agit duthème WordPresspar défaut sous uneformepresquenonmodifiée.Avec la structure depermalienpar défaut,il s'agit de la requête dansmonfichier.php: `SELECT SQL_CALC_FOUND_ROWS wp_posts.ID FROM wp_posts WHERE 1=1 AND wp_posts.post_type='my_custom_post_type' AND (wp_posts.post_status='publish' 'OR wp_posts.post_status='publish ') ORDER BY wp_posts.post_date DESC LIMIT 2,2` (juste après `$ wp_query=new WP_Query ($ args);`).`pre_get_posts` - no, nowhere. This is default WordPress theme in almost unmodified form. With default permalink structure this is the query in myfile.php: `SELECT SQL_CALC_FOUND_ROWS wp_posts.ID FROM wp_posts WHERE 1=1 AND wp_posts.post_type = 'my_custom_post_type' AND (wp_posts.post_status = 'publish' OR wp_posts.post_status = 'private') ORDER BY wp_posts.post_date DESC LIMIT 2, 2` (just after `$wp_query = new WP_Query( $args );`).
- 0
- 2013-09-09
- Paul
-
Justepour clarifier: lapremière requête vient demyfile.php (et aussi 404.php) quandj'ai "Custom Permalinks Structure" réglé sur quelque chose quin'estpaspar défaut.Je suis absolument sûr queje nemodifie `pre_get_posts`nullepart.J'ai vérifiétroisfois cela.http://gyazo.com/7424251b5b9129ce83467334fbcc1dd8.pngJust to clarify: the first query comes from myfile.php (and also 404.php) when I have "Custom Permalinks Structure" set to something that is not default. I'm absolutely sure that I don't modify `pre_get_posts` anywhere. I triple checked this. http://gyazo.com/7424251b5b9129ce83467334fbcc1dd8.png
- 0
- 2013-09-09
- Paul
-
@Paul Si vous avez répondu à votre question,pourriez-vous accepter la solution.Merci.@Paul If your question has been answered, could you please accept the solution. Thanks.
- 0
- 2017-01-04
- Michael Ecklund
-
2 réponses
- votes
-
- 2015-01-05
Vouspouvez égalementessayer le code ci-dessous.
function custom_type_archive_display($query) { if (is_post_type_archive('custom_post_type') ) { $query->set('posts_per_page',10); return; } } add_action('pre_get_posts', 'custom_type_archive_display');
You can also try below code.
function custom_type_archive_display($query) { if (is_post_type_archive('custom_post_type') ) { $query->set('posts_per_page',10); return; } } add_action('pre_get_posts', 'custom_type_archive_display');
-
- 2013-09-09
Après des heures de lutte,j'aitrouvé la cause.
Letype depublication quej'aienregistréen utilisant
register_post_type( 'my_custom_post_type', array( ... ) );
avait'rewrite' => array( 'slug' => 'my_custom_post_type' )
.Celaprenait lapriorité sur lapaginationet c'estpourquoi "404 -nontrouvé" seproduisait.Si quelqu'un a unemeilleureexplication sur ce quiestprioritaireet quand,veuillezmodifierma réponse.Ceproblèmeest résolu après avoirmodifié la
rewrite
en autre chose.After hours of struggling I found the cause.
The post type that I registered using
register_post_type( 'my_custom_post_type', array( ... ) );
had'rewrite' => array( 'slug' => 'my_custom_post_type' )
. That was taking priority over pagination and that's why "404 - not found" was happening.If anyone has better explanation of what takes priority and when, please edit my answer. This issue is resolved after editing
rewrite
to something else.-
Veuillez accepter votrepropre réponsePlease accept your own answer
- 0
- 2016-06-21
- Pieter Goosen
-
Mais vousne ditespas ce que vous avez changéen celafonctionne!But you don't say what you changed it to that works!
- 0
- 2016-09-28
- Andy Macaulay-Brook
J'ai créé
myfile.php
avec le contenu suivant:et:
Jen'ai aucuneidée de ce quime manqueici,maisj'aijusteessayétoutes les suggestions duguide de dépannage sur cettepage: https://codex.wordpress.org/Pagination -ils suggèrent que "404 -notfound"est l'un desproblèmes courants lorsque lespermaliens sont définis sur "Custom Structure" afin que les développeurs WP soient conscients d'unbugproblème,maisilsne disentpas comment y remédier.
Mon serveurest WAMPpour Windows 7 (PHP 5.4.3,Apache 2.4.2,
mod_rewrite
activé,les structures de lienspersonnaliséesfonctionnenttrèsbien,attendez-vous à lapagination lorsque "myfile.php"est utilisé comme unepage autre que "Page d'accueil statique").Mon .htaccess lorsque "Structure de lienpermanentpersonnalisé"est défini sur "Nom dumessage":
Quandj'entre http://example.com/mypage/page/2 (ne fonctionnepas):
SELECT wp_posts.* FROM wp_posts WHERE 1=1 AND wp_posts.post_name = 'page' AND wp_posts.post_type = 'my_custom_post_type' ORDER BY wp_posts.post_date DESC
Quandj'entre http://example.com/?page_id=1234&paged=2 (fonctionne):
SELECT SQL_CALC_FOUND_ROWS wp_posts.ID FROM wp_posts WHERE 1=1 AND wp_posts.post_type = 'my_custom_post_type' AND (wp_posts.post_status = 'publish' OR wp_posts.post_status = 'private') ORDER BY wp_posts.post_date DESC LIMIT 2, 2