Es gibt einen früheren Beitrag mit ähnlichem Titel, der jedoch nicht in WordPress 3.3 enthalten ist. Dies ist wichtig, da 3.3 interessanterweise Werbung macht: "Verwenden Sie die Permalink-Struktur für den Nachnamen ohne Leistungseinbußen."
Das Problem mit Wordpress 3.2 und früheren Versionen war, dass zuerst die Seitennamen und dann 404 angezeigt wurden. Die willkürlichen Beitragstypen wurden nicht zuerst überprüft. 3.3 hingegen muss nach Beitragstypen, dann nach Seiten und schließlich nach 404 suchen (da dies für diese Funktion wirbt). Dies impliziert, dass benutzerdefinierte Beitragstypen ohne Slug einfach sein sollten , wenn sie nicht post_type=post
irgendwo hart codiert haben.
Ich kann jedoch noch keine 3.3-spezifische Lösung finden.
Frage : Wie kann ich die Permalink-Struktur "/% postname% /" für einen bestimmten benutzerdefinierten Beitragstyp "xyz" definieren?
Vielen Dank.
quelle
Antworten:
Dies ist in WP 3.3 nicht einfach möglich, es sei denn, Sie täuschen die Umschreiberegeln so vor, dass sie an der richtigen Stelle sind, und lassen wp_rewrite glauben, dass im Frontend ausführliche Regeln verwendet werden. Die folgende Klasse funktioniert.
quelle
Heilige Autoschlüssel!
Ich denke das funktioniert. Es funktioniert fast, es ist super einfach, nur eine Zeile:PS Wenn Sie dies zu Hause versuchen, nachdem Sie diese eine Zeile hinzugefügt haben, gehen Sie zu "Einstellungen" -> "Permalinks" und speichern Sie die Änderungen, um die Permalinks zu aktualisieren.
Ich habe den WP-
register_post_type()
Quellcode gelesen und eine Zeile gefunden:Unnötig zu sagen, aber ohne Schnecke kam ich zu dem Schluss, dass es funktionieren sollte,
und das tat es auch. Auch die Permalink-Bearbeitung unter dem Titel im Editor funktioniert einwandfrei!Update: Dadurch werden Seitenpermalinks unterbrochen, zurück zum Zeichenbrett ...
quelle
Die Antwort von Prettyboymp ist fast dieselbe, die ich gestern erhalten habe, aber ich bin nicht zufrieden damit. Die Antwort von prettyboymp hat einen Fehler. Sie funktioniert nicht, wenn /% postname% / gleichzeitig für mehrere Beitragstypen verwendet wird.
Hier ist meine Antwort, die sich auch mit der aktuellen Struktur befasst und eine Reihe von Beitragstypen erstellt, auf die zurückgegriffen werden kann. Es gibt jedoch auch einen Fehler, wenn zwei Beitragstypen denselben Slug haben und beide /% postname% / sind, dann werden beide angezeigt.
quelle
Ich habe eine Lösung erstellt und konnte kein Problem damit finden. Bitte versuchen Sie es mir zu sagen, wenn Sie ein Problem finden
Ändern Sie 'yemek' mit Ihrem Beitragstypnamen.
quelle
Dieser Link sollte Ihre Frage beantworten:
http://ottopress.com/2011/how-the-postname-permalinks-in-wordpress-3-3-work/
quelle
Die sauberste Antwort, die ich dafür finden könnte (ich baue ein Plugin auf, das wirklich einen benutzerdefinierten Beitragstyp ohne führenden Slug benötigt), ist die Verwendung einer benutzerdefinierten Seitenvorlage anstelle eines benutzerdefinierten Beitragstyps.
Auf diese Weise kann Ihr "benutzerdefinierter Beitragstyp" URLs wie / was auch immer enthalten, ohne sich Gedanken über das Betreten einer Seite oder das Posten von Permalinks machen zu müssen.
Um dies zu tun, habe ich Folgendes getan:
Dies erlaubte mir:
Rufen Sie mit WP_Query eine Liste der Seiten auf, die die Seitenvorlage verwenden
Fügen Sie eine spezielle Verarbeitung hinzu, indem Sie sich in add_meta_boxes einbinden , um meine benutzerdefinierten Daten zu speichern
Fügen Sie meine benutzerdefinierte Vorlage zu den angezeigten hinzu, indem Sie page_attributes_dropdown_pages_args, theme_page_templates, wp_insert_post_data und template_include filtern. Weitere Informationen finden Sie in diesem Beitrag zum Hinzufügen von Seitenvorlagen zu einem Plugin
Die Nachteile
Obwohl dies nicht auf Seiten- oder Post-Links stampft, hat es natürlich einige offensichtliche Nachteile.
Kein Archiv Sie haben kein Archiv (wenn Sie dies möchten). Dies kann jedoch gelöst werden, indem Sie eine weitere Seitenvorlage erstellen, um mit Ihrer benutzerdefinierten Vorlage ein Archiv aller Seiten zu zeichnen.
Verwaltet unter Seiten Im Administrator wird nicht die nette Navigation für die linke Hand angezeigt, mit der alle Beitragstypen zusammengefasst werden.
Dies könnte teilweise gelöst werden, indem der Seitenliste ein Filter hinzugefügt wird (damit Sie nach der verwendeten Seitenvorlage filtern können), der in einer neuen Spalte verwendete Seitenvorlage anzeigt usw.
Davon abgesehen wollte ich etwas, das die Benutzer nicht dazu bringt, sich zu fragen, warum sie eine neue benutzerdefinierte Seite erstellt haben, und festgestellt hat, dass sie entweder keine normalen Seiten mehr erreichen können oder dass die neue benutzerdefinierte Seite dazu führt, dass eine vorhandene Seite auf ihrer Website verschwindet.
Ich weiß, dass es keine echte Lösung ist, aber es ist eine Alternative, die sich hervorragend für meine Bedürfnisse eignet.
quelle