web-dev-qa-db-fra.com

Réécrire le type de post par défaut

Je voudrais réécrire l'URL de type de message par défaut à /blog/2016/11/my-post-name/ sans affecter l'autre URL de type de message. J'ai essayé:

add_action('admin_menu','remove_default_post_type');
function remove_default_post_type() {
    remove_menu_page('edit.php');
}

add_action( 'init', 'set_default_post_type', 1 );

function set_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' => 'blog/%year%/%monthnum%/%postname%/',
            'with_front'=> false,
        ),
        'query_var' => false,
        'supports' => array( 'title', 'editor', 'author', 'thumbnail', 'excerpt', 'trackbacks', 'custom-fields', 'comments', 'revisions', 'post-formats' ),
    ) 
 );
}

Mais sans succès. L'URL reste en tant que /blog/my-post. Existe-t-il un moyen d’avoir des permaliens de types de messages par défaut tels que /blog/2016/11/my-post-name/ (où 2016 est l’année de publication et 11 le mois de publication) Sans affecter les autres URL de publication?

3
WpDev

Utilisez le champ de la page admin Settings > Permalinks pour définir votre structure de lien permanent sur /blog/%year%/%monthnum%/%postname%/.

Pour empêcher les types de publication personnalisés d'hériter de la structure de publication permanente, définissez with_front sur false dans vos arguments register_post_type pour tous les types de publication personnalisés.

La version 4.4 a également ajouté le filtre register_post_type_args pour permettre la modification des arguments de type de publication pour les types enregistrés par le code auquel vous n'avez pas accès.

2
Milo

Vous pouvez utiliser Custom Permalink plugin https://ru.wordpress.org/plugins/custom-permalinks/

Mais il ne peut pas utiliser des "modèles" permanents. Vous devrez entrer votre lien permanent personnalisé pour chaque publication sur la page de modification.

0
Demyd Ganenko