web-dev-qa-db-fra.com

Comment changer la base d'auteurs sans avant

J'utilise actuellement ce code:

function change_author_permalinks() {
    global $wp_rewrite;
    $wp_rewrite->author_base = 'connect/member';
}
add_action('init','change_author_permalinks');

mais mon ensemble front actuel sur mon blog est:

share

Donc, ce qui précède génère une URL comme suit:

http://example.com/share/connect/member/john-smith

Mais je ne veux pas /share/ dans le cadre de l'URL de cet auteur. Je ne peux pas supprimer l'avant /share/ car il est nécessaire pour d'autres parties du site.

Comment définir l'URL de l'auteur pour ne pas utiliser front?

4
Brady

C’est la meilleure solution que j’ai imaginée, mais j’apprécie de meilleures solutions:

function change_author_permalinks() {
    global $wp_rewrite;
    $wp_rewrite->author_base = 'connect/member';
    $wp_rewrite->author_structure = "/" . $wp_rewrite->author_base . '/%author%';
    add_rewrite_rule('connect/member/([^/]+)/?$', 'index.php?author_name=$matches[1]', 'top');
}
add_action('init','change_author_permalinks');
2
Brady