webentwicklung-frage-antwort-db.com.de

Wie ändere ich die Autorenbasis ohne $ this-> front?

Ich habe einen Beispielcode:

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

aber mein aktuelles Frontset in meinem Blog ist:

t%post% (Beispiel: www.domain.com/tauthor/username)

Ich möchte wechseln zu:

www.domain.com/u/username

Aber wenn Code ausgeführt wird, wird das Ergebnis der Seite nicht gefunden? Wie man es repariert ?

3
Hai Truong IT

Du bist in der Nähe, aber du brauchst den add_rewrite_rule-Aufruf nicht.

add_action('init', 'wpse82004_init');
function wpse82004_init()
{
    global $wp_rewrite;
    $wp_rewrite->author_base = 'u';
    $wp_rewrite->author_structure = '/' . $wp_rewrite->author_base . '/%author%';
}

Nachdem dies geschehen ist, speichern Sie die Permalinks erneut.

Hier ist ein Plugin , um eine Option auf Ihre Permalinkseite zu setzen, um dies zu tun.

12
chrisguitarguy

Folgendes habe ich getan, um die Autorenbasis zu ändern:

// change base of author pages- need to save permalinks to take effect
function wpa_82004(){
    global $wp_rewrite;
    $wp_rewrite->author_base = 'people'; // or whatever
}
add_action('init','wpa_82004');

Wenn Sie dies ausgeführt haben, müssen Sie Ihre Permalinks erneut speichern. (Optionen-> Permalinks) Sie müssen Ihre rewrite_rules leeren, um zu wissen, ob dies funktioniert.

2
helgatheviking