I need to change the rewrite-slug of the built in post-type 'post' to 'example/magazine/news/any-nice-news-item'.
When I re-register the post-type 'post' and set the rewrite-slug to 'magazine/news' it works fine. But now I'm not sure about any side-effects. Does anybody have any positive or negative experience with that?
Here is the code:
register_post_type( 'post', array(
'labels' => array(
'name_admin_bar' => _x( 'Post', 'add new on admin bar' ),
),
'public' => true,
/* internal use only. don't use this when registering your own post type. */
'_edit_link' => 'post.php?post=%d', /* internal use only. don't use this when registering your own post type. */
'capability_type' => 'post',
'map_meta_cap' => true,
'hierarchical' => false,
'rewrite' => array('slug' => 'magazine/news'),
'query_var' => false,
'delete_with_user' => true,
'supports' => array( 'title', 'editor', 'author', 'thumbnail', 'excerpt', 'trackbacks', 'custom-fields', 'comments', 'revisions', 'post-formats' ),
) );
I need to change the rewrite-slug of the built in post-type 'post' to 'example/magazine/news/any-nice-news-item'.
When I re-register the post-type 'post' and set the rewrite-slug to 'magazine/news' it works fine. But now I'm not sure about any side-effects. Does anybody have any positive or negative experience with that?
Here is the code:
register_post_type( 'post', array(
'labels' => array(
'name_admin_bar' => _x( 'Post', 'add new on admin bar' ),
),
'public' => true,
/* internal use only. don't use this when registering your own post type. */
'_edit_link' => 'post.php?post=%d', /* internal use only. don't use this when registering your own post type. */
'capability_type' => 'post',
'map_meta_cap' => true,
'hierarchical' => false,
'rewrite' => array('slug' => 'magazine/news'),
'query_var' => false,
'delete_with_user' => true,
'supports' => array( 'title', 'editor', 'author', 'thumbnail', 'excerpt', 'trackbacks', 'custom-fields', 'comments', 'revisions', 'post-formats' ),
) );
Share
Improve this question
asked Oct 30, 2013 at 18:41
Matthias LohscheidtMatthias Lohscheidt
511 silver badge3 bronze badges
1
- What the propose of re-register post type post ? – Oleg Butuzov Commented Oct 30, 2013 at 19:50
3 Answers
Reset to default 3You do not need to re register post type.
Symply go in you backend, Settings > Permalinks and set the permalink structure to a custom one: /magazine/news/%postname%/
then save changes.
See image below:
I wouldn't recommend reregistering the 'posts' post-type. Modifying _builtins can be a headache.
It may be best to simply change the "category Permalink" under Settings > Permalinks to:
'magazine/news/'
Or to create a subcategory named "news" with a parent category named "magazine", and use something like the "WP Htaccess Control" plugin to strip out the "category/" portion of the slug from posts.
The options above re-write every URL to be under that slug. You need to hook in with the registered_post_type to adjust it "solely" for the 'post' post type.