Je travaille avec un client qui dispose d'un site de répertoire qui permet aux utilisateurs de créer des comptes, puis des listes d'éléments à partir du répertoire. À l'heure actuelle, chaque fois qu'un utilisateur crée un compte, il obtient une URL de profil telle que:
domain.com/member/%author%
Ce qui est accompli avec un simple:
$wp_rewrite->author_base = 'member';
Maintenant, je dois permettre à ces utilisateurs de créer une liste, ce qui devrait aboutir à ce type de structure d'URL:
domain.com/member/%author%/%list%
Jusqu'à présent, je crée ces listes en tant que types de publication personnalisés. Tous les articles et les messages Stack Exchange que je vois sur WP_Rewrite ne couvrent pas une réécriture d'URL comme celle-ci. Est-ce possible? Avez-vous des indications sur la façon dont cela pourrait être fait?
Option 1
Je suppose que le type de message personnalisé génère une URL quelque chose comme ceci
domain.com/%custom-post-type%/%list%
Donc, vous pouvez l'écrire pour qu'il ressemble à ... puisque l'URL principale n'a pas d'auteur avant le type personnalisé, vous devez le faire via une fonction puisque les auteurs sont dynamiques
RewriteRule ^members/%author%/(.*)$ domain.com/%custom-post-type%/$1
Cela ne modifie pas spécifiquement les URL de type publication personnalisé, mais vous devriez pouvoir le modifier selon vos besoins https://Gist.github.com/4336843
Option 2
ou peut-être si l'URL ci-dessous et le type de message personnalisé ne changent pas, vous devriez pouvoir l'implémenter dans .htaccess et prendre l'auteur en compte lors de la réécriture.
domain.com/members/%author%/%custom-post-type%/%list%
RewriteRule ^members/(.*)/(.*)$ domain.com/members/$1/%custom-post-type%/$2
Ceci a une très bonne explication sur la réécriture d'URL en général http://www.addedbytes.com/articles/for-beginners/url-rewriting-for-beginners/
Option 3
Vous pouvez également réécrire l'intégralité de l'URL de type publication personnalisée si vous ne l'utilisez nulle part ailleurs ... car
register_post_type();
accept 'rewrite' => array ($slug)
plus d'informations
http://shibashake.com/wordpress-theme/custom-post-type-permalinks
http://shibashake.com/wordpress-theme/custom-post-type-permalinks-part-2
add_rewrite_rule () devrait être la réponse http://codex.wordpress.org/Rewrite_API/add_rewrite_rule
ou vous pouvez filtrer manuellement author_rewrite_rules
J'espère que le plugin suivant vous aidera davantage: http://wordpress.org/extend/plugins/permalink-editor/
Ce plugin va réécrire le permalien à votre guise sans aucune connaissance en matière de codage.