Wie füge ich einen benutzerdefinierten URL-Platzhalter zum Erstellen von Archiven hinzu?

Ich arbeite mit einem Client, der über eine Verzeichnis-Site verfügt, die es Benutzern ermöglicht, Konten zu erstellen, und dann Listen von Elementen aus dem Verzeichnis. Sobald ein Benutzer ein Konto erstellt, erhält er jetzt eine Profil-URL wie:

domain.com/member/%author% 

Was mit einem einfachen erreicht wird:

 $wp_rewrite->author_base = 'member'; 

Nun muss ich diesen Benutzern die Möglichkeit geben, eine Liste zu erstellen, die zu dieser Art von URL-Struktur führen sollte:

 domain.com/member/%author%/%list% 

Bis jetzt habe ich diese Listen als benutzerdefinierte Post-Typen erstellt. Alle Artikel und Stack-Exchange-Posts, die ich auf WP_Rewrite sehe, decken eine URL-Umschreibung nicht so ab. Ist das möglich? Hast du irgendwelche Hinweise, wie das gemacht werden könnte?

Solutions Collecting From Web of "Wie füge ich einen benutzerdefinierten URL-Platzhalter zum Erstellen von Archiven hinzu?"

Option 1

Ich nehme an, benutzerdefinierte Post-Typ generieren eine URL in etwa so

domain.com/%custom-post-type%/%list%%%%%%%%

Sie könnten es also so schreiben, dass es so aussieht … Da die Haupt-URL keinen Autor vor dem benutzerdefinierten Typ hat, müssten Sie dies über eine function tun, da Autoren dynamisch sind

 RewriteRule ^members/%author%/(.*)$ domain.com/%custom-post-type%/$1 

Dadurch werden die URLs des benutzerdefinierten Posttyps nicht speziell geändert. Sie sollten dies jedoch an Ihre Anforderungen anpassen können: https://gist.github.com/4336843

Option 2

oder möglicherweise, wenn die URL wie diese unten und der benutzerdefinierte Beitragstyp sich nicht ändert, sollten Sie in der Lage sein, dies in .htaccess zu implementieren, und es berücksichtigt den Autor beim Umschreiben

domain.com/members/%aut%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

 RewriteRule ^members/(.*)/(.*)$ domain.com/members/$1/%custom-post-type%/$2 

Dies hat eine sehr gute Erklärung für die Umschreibung URL im Allgemeinen http://www.addedbytes.com/articles/for-beginners/url-rewriting-for-beginners/

Option 3

Außerdem können Sie die URL des gesamten benutzerdefinierten Beitragstyps neu schreiben, wenn Sie sie nirgendwo sonst verwenden … weil

register_post_type(); accept 'rewrite' => array ($slug)

Mehr Info

http://shibashake.com/wordpress-theme/custom-post-type-permalinks

http://shibashake.com/wordpress-theme/custom-post-type-permalinks-part-2

add_rewrite_rule () sollte die Antwort http://codex.wordpress.org/Rewrite_API/add_rewrite_rule sein

oder Sie können author_rewrite_rules manuell filtern

Ich hoffe das folgende Plugin wird dir mehr helfen: http://wordpress.org/extend/plugins/permalink-editor/

Dieses Plugin wird den Permalink so umschreiben, wie Sie es wollen, ohne Programmierkenntnisse.