Sollte das nicht einfach sein?! Benutzerdefinierter Beitragstyp / benutzerdefinierter Taxonomie-Permalink
-
-
Was haben Sie aus Neugierbisher versucht?Out of curiosity, what have you tried so far?
- 0
- 2012-01-30
- Matthew Boynes
-
Diese Antwortbrachtemich amnächsten - http://wordpress.stackexchange.com/questions/5308/custom-post-types-taxonomies-and-permalinks - aber dannfunktionierteesnichtmit Paginierung und das vorgeschlagene PluginfunktioniertenichtentwederThis 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
-
Cool,froh,dassichgefragt habe,das hatmir Zeitgespart!Cool, glad I asked, that saved me some time!
- 0
- 2012-01-30
- Matthew Boynes
-
1 Antworten
- Stimmen
-
- 2012-01-30
Befolgen Sie die Anweisungen zu dieser Frage wiebereits zuvor. Fügen Sie diesjedoch Ihrem Code hinzu:
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; }
Gehen Sie zum Schluss zu Einstellungen> Permalinks und klicken Sie auf Speichern. Wennesimmernochnichtfunktioniert,speichern Sie Ihre Permalinkserneut. Manchmal habeich das Gefühl,dumusst sie zweimal retten,aber wer weiß. Wie auchimmer,lassen Siemich wissen,wie Sie ausmachen. Beachten Sie,dass die Standardantwort Nr. 1für Informatikgilt: Esfunktioniertfürmich ... ;-)
Aus dem Land von TMI ...
Der Grund dafür,warum die Seiten standardmäßignichtfunktionieren,ist,dass WordPresseine Umschreiberegelfür Literatur/% literaturkategorie%/% Buch%/% Seite%einfügt,dieinsgesamtergibt Sinn,wenn Sie darübernachdenken. Ihre Standard-Permalinks haben also diese konkurrierenden Regelnin dieser Reihenfolge:
[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]
Alles,was wir hier wirklichtun,ist,die Reihenfolge dieser zu ändern,indem wir letztere deaktivieren (wir können siebeibehalten,aberjedes Umschreiben danach hateine weitere Regex,diebeim Laden der Seite ausgeführt werden kann) und sie am Anfang von hinzufügen Array.
Wissenswertes: Wenn Siejemalsein "Buch"mit dem Titel "Seite" haben undesmehrere Seiten hat,wird diese Reihenfolgein Konfliktgeraten und dienachfolgenden Seitenfunktionierennicht!
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!
-
Meine Güte,miristgeradeeingefallen,dassmeine Syntax hierfalsch war.Komischerweisefunktioniertesbei mir und wenniches repariere,funktioniertesnicht.Ich werde dranbleiben undmeine Antwort aktualisieren,wenniches herausfinde ...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
-
Dankefür deine Hilfe Matthew.Ich habe das versucht und leider hatesnichtfunktioniert.Ich habemeiner Frage weitere Informationen hinzugefügt,die sie hoffentlichbessererklären!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
-
Und wennes auch hilft,hierein Link zur Website - 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,ichentschuldigemichfür die Verwirrung.Hatte dortein wenig Hirngas (mussin letzter Zeitein paar Hirnbohnengehabt haben).Meine Antwort wurde aktualisiert undfunktioniert wiederfürmich.Denken Sie daran,über Ihre Permalinks zu speichern.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
-
Scheint sichnicht von der Permalink-Struktur zu unterscheiden :(Doesn't seem to make any different to the permalink structure :(
- 0
- 2012-01-30
- fxfuture
-
Oh ok,ich habe deine aktualisierte Fragegesehen.Esist alsonicht so,dass/literatur/fiktion/seite/2nichtfunktioniert,esist so,dass/literatur/seite/2nichtfunktioniert,stimmt das?Wennja,ist daseine einfache Lösung,wir werden das Gleiche aufeiner höheren EbenetunOh 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
-
Nochmals vielen Dank Matthew.Ja,Literatur/Seite/2funktioniertnicht.Ihre aktualisierte Antwortfunktioniertjedoch auchnicht undmein Gehirn wirdnochfrittierter!Meine Literaturtaxonomie heißt "literaturkategorie",aber das Umschreibenist "Literatur"gemäß der Antwort,nach derichgearbeitet habe.Zubeachtenist auch,dassmysite.com/literatureeine Seitenamens literatur.phpist,auf der der Beitragstyp 'Literatur' abgefragt wird.Hmmmichfühlemich wirklich verloren!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
-
Lassen Sie uns [diese Diskussionim Chatfortsetzen] (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
-
Funktioniertperfekt auf der Website,bis aufein kleines Problem ... Ich verwende Breadcrumb Nav XT undjetzt 'Literatur'im Breadcrumb-Trail verlinkt aufmysite.com/literature/%literature_category%/undgenerierteinen fehlerhaften AnforderungsfehlerWorking 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
-
Behoben durch Ändern der verknüpften Breadcrumb-Vorlagein
Literatur :) Fixed by changing the linked breadcrumb template to Literature :)- 0
- 2012-01-30
- fxfuture
-
Ichglaubenicht,dass Sie auf der Seite Permalink-Einstellungen auf die Schaltfläche Speichern klickenmüssen.Wenn Sienur die Seitebesuchen,werden die Umschreiberegelngelöscht.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
Dasmachtmich also absolut verrückt. Ich habe Tage damit verbracht,dies zubeheben,undich kannnicht herausfinden,warum dies so schwierigist,da dies sicherlicheine sehr häufige Permalink-Strukturist!
Ich habe Hunderte von Antworten und Beiträgen durchgesehen und keine davon scheint das Problem zu lösen.
Ichmöchteeinfach diese Struktur:
Damiterreicheich Folgendes:
Jedes Mal,wennichetwas versuche,erhalteich 404 Fehler oder die Pagninationfunktioniertnicht.
Ich verstehenicht,warum das so schwerist!
Jede Hilfe wird sehrgeschätzt!
Danke
====================================================== ================== ZUSÄTZLICHE INFORMATIONEN ==================
Derzeit registriereich den Beitragstyp und die Taxonomie wiefolgt:
Wennichbeide als 'Literatur' registriere,erhalteich auf der Seitemysite.com/literatureeine 404,aber dies zeigtmeinen Permalink als:
mysite.com/literature/books/mybook
Nachdem Sie den Ratschlägen zu dieser Fragegefolgt sind - Benutzerdefinierte Beitragstypen,Taxonomien und Permalinks
Ich habe dies zumeinen Funktionen hinzugefügt:
Und habemeinen Beitragstypin
'slug' => 'literature/%literature_category%'
Undmeine Taxonomie wurdein'slug' => 'literature'
Diesfunktioniert hervorragend,außer dass auf
mysite.com/literature
die Paginierungnichtfunktioniert,sodassbei derfolgenden URLein 404-Fehler angezeigt wird:mysite.com/literature/page/2/