Ich habe eine WordPress-Website mit vielen Beiträgen. Mein Problem ist, dass ich die URLs von ändern muss
website.com/post-name
zu
website.com/specialword/post-name
Das "specialword" ist das, was ich vor diesen Beitragsnamen einfügen muss, aber NUR für den Beitragstyp - Beiträge.
Kann mir jemand helfen?
Ich brauche das dringend, hauptsächlich wegen der SEO-Zwecke, damit ich die URLs der vorherigen Website behalten kann, die nicht in WordPress erstellt wurden.
Vielen Dank! Slavisa
Sie können dies von Settings > Permalinks
aus tun.
Aktivieren Sie das Optionsfeld Custom Structure
und fügen Sie dies in das Textfeld daneben ein:
/myspecialword/%postname%
Funktioniert.
Ich denke, die einzige (einfachste) Lösung besteht darin, permastruct
s für benutzerdefinierte Beitragstypen zu ändern, nachdem Sie sie registriert haben, und Ihr 'Zauberwort' zur Permalink-Struktur hinzuzufügen.
Stellen Sie daher (in den Parmalink-Einstellungen) Ihre Permalink-Struktur auf: /my-magic-Word/%postname%/
und ändern Sie dann die Permastrukturen Ihrer benutzerdefinierten Beitragstypen manuell.
Sie können dies wie folgt tun (fügen Sie es Ihrer functions.php-Datei hinzu):
function my_init() {
global $wp_rewrite;
// Let's assume you register your CPT Books in here
$args = array( 'public' => true, 'label' => 'Books' );
register_post_type( 'book', $args );
// after registering your CPT, you have to change it's permastruct
$wp_rewrite->extra_permastructs['book']['struct'] = "book/%book%"; // it's without 'my-magic-Word' - you should do this for every CPT that should not have 'my-magic-Word' in url
}
add_action('init', 'my_init');
Gehen Sie dann zu den Permalink-Einstellungen und speichern Sie sie, um die Umschreiberegeln zu löschen.
PS. Ich denke, Sie könnten versuchen, with_front
param zu verwenden, aber ich bin nicht sicher, ob es einfacher sein wird (oder sogar funktionieren wird) als diese Lösung.