Autoren-URL neu schreiben
1 Antworten
- Stimmen
-
- 2010-12-13
Angenommen,Sie verwendenbenutzerdefinierte Beitragstypenfür Songs,Bücher usw .:
function add_rewrite_rules($rules) { $newrules['author/([^/]+)/songs/?$'] = 'index.php?post_type=songs&author=$matches[1]'; $newrules['author/([^/]+)/songs/page/?([0-9]{1,})/?$'] = 'index.php?post_type=songs&locations=$matches[1]&paged=$matches[2]'; $rules = $newrules + $rules; return $rules; } function flushRules() { global $wp_rewrite; $wp_rewrite->flush_rules(); } add_filter('rewrite_rules_array', 'add_rewrite_rules'); /* This function should only really be run once per change of rules - comment out */ add_filter('init','flushRules');
Probieren Sie die Abfragezeichenfolgen über "index.php?post_type=songs & amp; author=username" aus und stellen Sie sicher,dass Sie die richtige Post-Listeerhalten,nach der Sie auf Ihrer Site suchen (möglicherweisemüssen Sie Permalinks deaktivieren,um sie zutesten).
Anschließend können Sie die Regeln zur Funktion hinzufügen (wobei Sie die ausgelagerte Regelfürjeden Beitragstypbeachten).
Ichmachegenau dasjetzt aufeiner Live-Site,alsoistesmöglich -erfordertnurein wenig Geduld,um die Regeln korrekt zumachen.
Wenn Sie keinebenutzerdefinierten Beitragstypen verwenden,können Sie die obigen Abfragezeichenfolgen vonpost_type=xxxin taxonomy=tagname ändern oder was auchimmer Siebenötigen,um diegewünschte Liste zuerhalten.
Assuming you are using custom post types for songs, books etc:
function add_rewrite_rules($rules) { $newrules['author/([^/]+)/songs/?$'] = 'index.php?post_type=songs&author=$matches[1]'; $newrules['author/([^/]+)/songs/page/?([0-9]{1,})/?$'] = 'index.php?post_type=songs&locations=$matches[1]&paged=$matches[2]'; $rules = $newrules + $rules; return $rules; } function flushRules() { global $wp_rewrite; $wp_rewrite->flush_rules(); } add_filter('rewrite_rules_array', 'add_rewrite_rules'); /* This function should only really be run once per change of rules - comment out */ add_filter('init','flushRules');
Try the query strings above "index.php?post_type=songs&author=username" and make sure you get the correct post listing you are after on your site (you might need to disable permalinks to test them).
Then you can add the rules in to the function (taking note of the paged rule for each post type).
I am doing exactly this on a live site now, so it is possible - just requires a bit of patience to get the rules correct.
If you are not using custom post types you can change the query strings above from post_type=xxx to taxonomy=tagname or whatever you need to get the listing you want.
-
Danke @Chris!Das Problemist,dassich keine Taxonomien oderpost_types habe ... Diese Songs,Filme und Bücher werdenin eine separate MySQL-Tabelleeingefügt (daes sich umein System zum Hinzufügen zu Favoriten handelt undich Lieblingslieder,Filme und Bücherfürjeden anzeigenmöchteAutor)Thanks @Chris! The problem is i don't have taxonomies or post_types... Those songs, movies, books are inserted into a separate mysql table (because is an "add to favorites" system and I want to display favorite songs, movies, books for each author)
- 0
- 2010-12-13
- Robert
-
@Robert - aktualisiere deine Frage,um die Struktur dieser Tabellen zuerklären - wie um allesin der Welt sollten wir das ursprünglich wissen?@Robert - update your question to explain the structure of these tables - how on earth were we meant to know that originally!?
- 0
- 2010-12-13
- TheDeadMedic
-
@TheDeadMedic: Frage aktualisiert!@TheDeadMedic: question updated!
- 0
- 2010-12-13
- Robert
-
Antwort hiergefunden: http://wordpress.stackexchange.com/questions/4243/how-to-set-up-sub-categories-for-author-pagesAnswer found here: http://wordpress.stackexchange.com/questions/4243/how-to-set-up-sub-categories-for-author-pages
- 0
- 2010-12-13
- Robert
Der Standardautor-Permalink lautet:
Wie kannich soetwastun?
Wennjemand Songspermalinkbesucht,sollte wp Songs desjeweiligen Autors anzeigen.Wennjemand Bücherpermalinkbesucht,sollte wp Bücher desjeweiligen Autors anzeigen und so weiter!Irgendeine Idee,wieich dasmachen kann !?
Späterbearbeiten mySQL-Tabelle:favs