webentwicklung-frage-antwort-db.com.de

Hinzufügen eines weiteren Wortes vor der Post-URL

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

6
SlavisaPerisic

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.

2

Ich denke, die einzige (einfachste) Lösung besteht darin, permastructs 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.

0