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 ?
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.
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.