web-dev-qa-db-fra.com

Modifier le slug de type de poste post en baseurl/post /% postname%

J'ai cherché partout mais je ne peux trouver nulle part la réponse à ma question: comment changer le slug de post pour tous les posts (et les catégories, etc.). Sans affecter les autres pages/URL de publication personnalisées. Donc, je veux changer l'URL pour les messages par défaut de:

url/postname> url/news/postname

Sans affecter les URL de page et/ou les URL de type publication personnalisées. La seule méthode que j'ai trouvée jusqu'à présent et qui a permis d'obtenir ce que je cherchais était:

http://wordimpress.com/how-to-add-a-custom-permalink-structure-for-only-the-wordpress-default-post-type/

add_action( 'init', 'my_new_default_post_type', 1 );
function my_new_default_post_type() {

register_post_type( 'post', array(
    'labels' => array(
        'name_admin_bar' => _x( 'Post', 'add new on admin bar' ),
    ),
    'public'  => true,
    '_builtin' => false, 
    '_edit_link' => 'post.php?post=%d', 
    'capability_type' => 'post',
    'map_meta_cap' => true,
    'hierarchical' => false,
    'rewrite' => array( 'slug' => 'post' ),
    'query_var' => false,
    'supports' => array( 'title', 'editor', 'author', 'thumbnail', 'excerpt', 'trackbacks', 'custom-fields', 'comments', 'revisions', 'post-formats' ),
) );
}

En ré-enregistrant le type de message. Mais cela a également pour effet secondaire de créer un deuxième élément de menu sur le côté gauche du panneau d'administration appelé post. Les deux contiennent les mêmes données cependant.

J'espère que quelqu'un a une réponse à ce problème.

3
N.Schipper

Il n'est pas nécessaire de réenregistrer le type de publication post par défaut. Vous pouvez simplement ajouter un préfixe à la structure permalink à l'aide des paramètres Permalinks, disponibles dans le menu principal Paramètres du panneau d'administration WordPress:

Example of the permalinks settings

7
Coen Jacobs