Non dovrebbe essere facile ?! Tipo di post personalizzato / tassonomia personalizzata permalink
-
-
Per curiosità,cosa haiprovatofinora?Out of curiosity, what have you tried so far?
- 0
- 2012-01-30
- Matthew Boynes
-
Questa rispostami ha ottenutoilpiù vicino - http://wordpress.stackexchange.com/questions/5308/custom-post-types-taxonomies-and-permalinks -mapoinon hafunzionato con l'impaginazionee ilplugin suggeritonon hafunzionatooThis answer got me the closest - http://wordpress.stackexchange.com/questions/5308/custom-post-types-taxonomies-and-permalinks - but then it didn't work with pagination and the suggested plugin didn't work either
- 0
- 2012-01-30
- fxfuture
-
Fantastico,felice di averlo chiesto,questomi hafatto risparmiare unpo 'ditempo!Cool, glad I asked, that saved me some time!
- 0
- 2012-01-30
- Matthew Boynes
-
1 risposta
- voti
-
- 2012-01-30
Seguii consigli su questa domanda come haigiàfatto,ma aggiungi questo altuo codice:
add_action( 'generate_rewrite_rules', 'fix_literature_category_pagination' ); function fix_literature_category_pagination( $wp_rewrite ) { unset($wp_rewrite->rules['literature/([^/]+)/page/?([0-9]{1,})/?$']); $wp_rewrite->rules = array( 'literature/?$' => $wp_rewrite->index . '?post_type=literature', 'literature/page/?([0-9]{1,})/?$' => $wp_rewrite->index . '?post_type=literature&paged=' . $wp_rewrite->preg_index( 1 ), 'literature/([^/]+)/page/?([0-9]{1,})/?$' => $wp_rewrite->index . '?literature_category=' . $wp_rewrite->preg_index( 1 ) . '&paged=' . $wp_rewrite->preg_index( 2 ), ) + $wp_rewrite->rules; }
Infine,vai su Impostazioni> Permalinke premi Salva. Se ancoranonfunziona,salva dinuovoi permalink. A voltemi sento come se dovessi salvarli due volte,ma chi lo sa. Ad ognimodo,fammi sapere comefaifuori. Nota che si applica la risposta standard dell'informatican. 1: Funzionaperme ... ;-)
Dallaterra di TMI ...
Per riferimento,ilmotivo perché lepaginenonfunzionanoperimpostazionepredefinita è che WordPressinserisce una regola di riscritturaper la letteratura/% letteratura_categoria%/% libro%/%pagina%,che rendetotale senso se cipensi. Quindii tuoipermalinkpredefiniti hanno queste regole concorrentiin questo ordine:
[literature/([^/]+)/([^/]+)(/[0-9]+)?/?$] => index.php?literature_category=$matches[1]&book=$matches[2]&page=$matches[3] [literature/([^/]+)/page/?([0-9]{1,})/?$] => index.php?literature_category=$matches[1]&paged=$matches[2]
Tutto quello che stiamofacendo qui è cambiare l'ordine di questi disinserendo quest'ultimo (possiamomantenerlo,mapoi ogni riscrittura successiva ha un'altra regex daeseguire al caricamento dellapagina)e aggiungendolo all'inizio delmatrice.
Curiosità: se hai un "libro"intitolato "pagina"e hapiùpagine,questo ordineentreràin conflittoe lepagine successivenonfunzioneranno!
Follow the advice on this question as you did already, but add this to your code:
add_action( 'generate_rewrite_rules', 'fix_literature_category_pagination' ); function fix_literature_category_pagination( $wp_rewrite ) { unset($wp_rewrite->rules['literature/([^/]+)/page/?([0-9]{1,})/?$']); $wp_rewrite->rules = array( 'literature/?$' => $wp_rewrite->index . '?post_type=literature', 'literature/page/?([0-9]{1,})/?$' => $wp_rewrite->index . '?post_type=literature&paged=' . $wp_rewrite->preg_index( 1 ), 'literature/([^/]+)/page/?([0-9]{1,})/?$' => $wp_rewrite->index . '?literature_category=' . $wp_rewrite->preg_index( 1 ) . '&paged=' . $wp_rewrite->preg_index( 2 ), ) + $wp_rewrite->rules; }
Lastly, go to Settings > Permalinks and hit save. If it still doesn't work, save your permalinks again. Sometimes I feel like you have to save 'em twice, but who knows. Anyway, Let me know how you make out. Note that Computer Science Standard Answer #1 applies: It Works For Me... ;-)
From the land of TMI...
For reference, the reason why the pages don't work by default is that WordPress puts in a rewrite rule for literature/%literature_category%/%book%/%page%, which makes total sense if you think about it. So your default permalinks have these competing rules in this order:
[literature/([^/]+)/([^/]+)(/[0-9]+)?/?$] => index.php?literature_category=$matches[1]&book=$matches[2]&page=$matches[3] [literature/([^/]+)/page/?([0-9]{1,})/?$] => index.php?literature_category=$matches[1]&paged=$matches[2]
All we're really doing here is changing the order of these by unsetting the latter (we can keep it in, but then every rewrite thereafter has one more regex to run on page load) and adding it to the beginning of the array.
Fun fact: If you ever have a "book" entitled "page" and it has multiple pages, this order will conflict and its subsequent pages won't work!
-
Accidenti,mi è appena venutoin mente che lamia sintassiera sbagliata qui.Abbastanza divertente,funzionaperme e quando lo aggiusto,nonfunziona.Continuerò afarloe aggiornerò lamia risposta quando lo scoprirò ...Gosh, it just occurred to me that my syntax was wrong here. Funny enough, it works for me and when I fix it, it doesn't work. I'll keep at it and update my answer when I figure it out...
- 0
- 2012-01-30
- Matthew Boynes
-
Grazieperiltuo aiuto Matteo.L'hoprovatoe purtropponon hafunzionato.Ho aggiuntopiùinformazioni allamia domanda che spero lo spieghimeglio!Thanks for your help Matthew. I tried that and unfortunately it didn't work. I've added more information to my question which hopefully explains it better!
- 0
- 2012-01-30
- fxfuture
-
E se aiuta anche,ecco un collegamento al sito - http://bit.ly/xvclETAnd if it also helps, here's a link to the site - http://bit.ly/xvclET
- 0
- 2012-01-30
- fxfuture
-
Ok,mi scusoper la confusione.C'era unpo 'digas cerebrale lì (deve aver avuto alcunifagioli cerebrali di recente).Lamia risposta è stata aggiornatae dinuovofunzionaperme.Ricordati di salvare suituoipermalink.Ok, my apologies for the confusion. Had a little brain gas there (must have had some brain beans recently). My answer has been updated, and again it works for me. Remember to save over your permalinks.
- 1
- 2012-01-30
- Matthew Boynes
-
Non sembra differire dalla struttura delpermalink :(Doesn't seem to make any different to the permalink structure :(
- 0
- 2012-01-30
- fxfuture
-
Oh ok,ho visto latua domanda aggiornata.Quindinon è che/letteratura/narrativa/pagina/2nonfunziona,è che/letteratura/pagina/2nonfunziona,giusto?Se è così,è una soluzionefacile,faremo la stessa cosa a un livello superioreOh ok, I saw your updated question. So it's not that /literature/fiction/page/2 doesn't work, it's that /literature/page/2 doesn't work, is that right? If so, that's an easy fix, we'll do the same thing up a level
- 1
- 2012-01-30
- Matthew Boynes
-
Grazie ancora Matteo.Sì,la letteratura/pagina/2nonfunziona.Tuttavia,anche latua risposta aggiornatanonfunzionae ilmio cervello sta diventando ancorapiùfritto!Lamiatassonomia della letteratura si chiama "letteratura_categoria"ma la riscrittura è "letteratura"in base alla risposta su cui stavo lavorando.Danotare anchemysite.com/literature è unapagina chiamata letteratura.php dove siinterrogailtipo dipost "letteratura".Hmmmmi sento davveroperso!Thanks again Matthew. Yes, literature/page/2 doesn't work. However, your updated answer isn't working either and my brain is getting even more fried! My literature taxonomy is called 'literature_category' but the rewrite is 'literature' as per that answer I was working from. Also to note mysite.com/literature is a page called literature.php where it queries the post type 'literature'. Hmmm I'm feeling really lost!
- 0
- 2012-01-30
- fxfuture
-
lasciaci [continuare questa discussionein chat] (http://chat.stackexchange.com/rooms/2336/discussion-between-matthew-boynes-and-fxfuture)let us [continue this discussion in chat](http://chat.stackexchange.com/rooms/2336/discussion-between-matthew-boynes-and-fxfuture)
- 1
- 2012-01-30
- Matthew Boynes
-
Funzionaperfettamente sul sito,tranneper unproblemaminore ... Sto usando Breadcrumb Nav XT,e ora "Literature"nellatracciabreadcrumb si collega amysite.com/literature/%literature_category%/generando unerrore di richiestaerrataWorking perfectly on the site, except for one minor issue... I'm using Breadcrumb Nav XT, and now 'Literature' in the breadcrumb trail links to mysite.com/literature/%literature_category%/ generating a bad request error
- 0
- 2012-01-30
- fxfuture
-
Risoltoilproblemamodificandoilmodello dibreadcrumb collegatoin
Letteratura :) Fixed by changing the linked breadcrumb template to Literature :)- 0
- 2012-01-30
- fxfuture
-
Nonpenso che sianecessariofare clic sulpulsante Salvanellapagina Impostazionipermalink.La semplice visita dellapagina cancellerà le regole di riscrittura.I don't think you need to click the Save button on the Permalink Settings page. Just visiting the page will flush the rewrite rules.
- 0
- 2012-10-30
- Ian Dunn
Quindi questomi stafacendoimpazzire. Hopassatogiorni a cercare di risolvere questoproblemae non riesco a capireperché sia così difficile dato che sicuramente questa è una struttura dipermalinkmolto comune!
Hoesaminato centinaia di rispostee poste nessuno di questi sembra risolvereilproblema.
Voglio semplicemente questa struttura:
Quindi ottengo quanto segue:
Ogni volta cheprovo qualcosa ottengoerrori 404 o l'impaginazionenonfunziona.
Non capiscoperché sia così difficile!
Qualsiasi aiuto davvero apprezzato!
Grazie
====================================================== ================== INFORMAZIONI AGGIUNTIVE ==================
Attualmente sto registrandoiltipo di articoloe latassonomia come segue:
Se registroentrambi come "letteratura" ottengo un 404 sullapaginamiosito.com/letteraturama questomostrailmiopermalink come:
mysite.com/literature/books/mybook
Dopo aver seguitoi consigli su questa domanda: Tipi dipostpersonalizzati,tassonomiee permalink
Ho aggiunto questo allemie funzioni:
E ho cambiatoiltipo dipostin
'slug' => 'literature/%literature_category%'
E ho cambiato lamiatassonomiain'slug' => 'literature'
Funziona allagrandetranne che su
mysite.com/literature
l'impaginazionenonfunziona,quindi ottengo unerrore 404 al seguente URL:mysite.com/literature/page/2/