web-dev-qa-db-fra.com

Ajout d'un autre mot devant l'URL du message

J'ai un site WordPress avec un tas de messages. Mon problème est que je dois changer les URL de

website.com/post-name

à

website.com/specialword/post-name

Le "specialword" est ce que je dois ajouter devant ces noms, mais UNIQUEMENT pour le type de message - posts.

Est-ce que quelqu'un peut m'aider?

J'en ai terriblement besoin, principalement pour des raisons de référencement, afin que je puisse conserver les URL du site Web précédent qui n'ont pas été créées dans WordPress.

Je vous remercie! Slavisa

6
SlavisaPerisic

Vous pouvez le faire à partir de Settings > Permalinks.

Sélectionnez le bouton radio Custom Structure et placez-le dans le champ de texte à côté:

/myspecialword/%postname%

Travaux.

2
Rutwick Gangurde

Je pense que la seule solution (la plus simple) est de changer permastructs pour les types de publication personnalisés après les avoir enregistrés et d'ajouter votre "mot magique" à la structure de lien permanent.

Définissez donc (dans les paramètres de parmalinks) votre structure de lien permanent sur: /my-magic-Word/%postname%/, puis modifiez manuellement les permastructure de vos types de publication personnalisés.

Vous pouvez le faire comme suit (ajoutez-le à votre fichier functions.php):

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');

Accédez ensuite aux paramètres de permalien et enregistrez-les pour effacer les règles de réécriture.

PS Je pense que vous pourriez essayer d'utiliser with_front param, mais je ne suis pas sûr que ce sera plus facile (ou même si cela fonctionnera) que cette solution.

0
Krzysiek Dróżdż